2011-02-07 8 views
0

У меня есть раскрывающийся список, который вытаскивает значения из db.It будет отображать только один столбец в раскрывающемся списке. Если я выберу один столбец в раскрывающемся списке, он должен отображать другие значения в текстовом поле.выпадающий список с помощью php

Я сделал отображение значений в выпадающем списке, но я ударил here.If я выберите значение в раскрывающемся списке соответствующих значений должны отображаться в текстовом поле

например: автомобиль BMW classc 125л.с.

здесь, если я выберу bmw в раскрывающемся списке, я должен получить этот класс c и 125ho в текстовом поле.

ответ

0

PHP работает на стороне сервера, он обрабатывает ваш веб-сайт по требованию клиента, а затем отправляет страницу результатов клиенту. Например, ваш упаковочный ящик заполняется на сервере и отправляется клиенту.

Однако выбор элемента в папке сбрасывается в браузере клиента. Увы, сервер не знает об этом, поэтому для вашего скрипта PHP не существует способа реагировать на это (если вы не заставите обновление сайта каждый раз, когда пользователь меняет элемент dropbox, что было бы очень плохой концепцией).

Вам нужно будет работать со сценарием, который работает на стороне клиента, здесь наиболее распространен JavaScript. JavaScript может реагировать на выбор кавычки и заполнять данные в ваших текстовых полях соответственно.

Обратите внимание, что JavaScript на стороне клиента не имеет доступа к каким-либо ресурсам сервера, скажем, тексты из вашей базы данных. Эти ресурсы должны быть вставлены в JavaScript с помощью вашего PHP-скрипта, чтобы они также были отправлены клиенту.

+1

JavaScript * per se * не имеет доступа к серверным ресурсам, именно поэтому используется AJAX. – nico

1

Вы можете сохранить свое отображаемое значение в атрибуте - например. данных текст

<select id="car"> 
    <option name="none" data-text="" value="">---</option> 
    <option name="bmw" data-text="class c" value="bmw">bmw</option> 
    <option name="ford" data-text="4 door" value="ford">ford</option> 
    </select> 

    <input type="text" id="display"/> 

вы можете обновить текстовое поле следующим образом (если вы используете JQuery)

​$()​.ready(function() { 

    $("#car").bind("change", function() { 
    $("#display").val($("#car :selected").attr("data-text")) 
    }) 
})​ 

Я положил живой пример на - http://jsbin.com/ifefo4

0

Вы должны использовать Javascript для сторона клиента.

Создайте массив javascript, который вы заполните значениями для текстового поля. Затем в методе onchange для Dropbox вы загружаете содержимое в текстовое поле из этого массива.

+0

Как это сделать? Я использую php while loop, чтобы вытащить каждую вещь из db. – ajmul

+0

Вы должны получить данные с PHP, как обычно, но в вашем цикле вам нужно напечатать код, который браузер может прочитать и построить часть javascript. Советы, найденные с помощью google или здесь: http://www.scratch99.com/2008/03/creating-javascript-array-dynamically-from-php-array/ Но посмотрите @ Joe Hanink решение с jQuery тоже может быть проще печатать значения непосредственно в поле со списком, а затем перебирать массив. Но принцип почти такой же. – Bulan

+0

Я делаю это с помощью php, поэтому у меня есть разные идентификаторы для каждого текстового поля. – ajmul

Смежные вопросы