Как загрузить второй список DropDown из базы данных после первого изменения DropDownList

Я создаю веб-приложение. В какой-то момент пользователь должен ввести данные в форму. Эта форма имеет несколько текстовых полей и DropDownLists .

Один из DDL зависит от предыдущего DDL. Случается, что когда пользователь выбирает значение из первого DDL, второй DDL должен загружать данные из базы данных, которые связаны с выбранным значением первого DDL.

До этого момента я реализовал только PHP и JS (без AJAX , jQuery или что-то еще) для обработки большинства моих проблем.

Я хотел бы знать, как заполнить второй DDL из базы данных после того, как был выбран элемент первого DDL.

Любая помощь будет оценена по достоинству. Спасибо!

Ajax – ваш лучший выбор. это поможет

Вот пример:

http://tutorialzine.com/2011/11/chained-ajax-selects-jquery/

Google – ваш друг 🙂

Если данные во втором раскрывающемся списке зависят от данных в первом, то вам придется загрузить значения второго выпадающего списка в объект javascript, например:

 // Given the options in the first dropdown are: "foo", "bar", and "baz" var secondData = { foo: ['lorem', 'ipsum'], bar: [1,2,3], baz: [] } 

Добавьте событие «change» в первый раскрывающийся список и secondData значение этого выпадающего списка, загрузите содержимое второго раскрывающегося списка со значениями, содержащимися в объекте secondData .

Если вам удобно использовать jQuery (который я бы рекомендовал), что-то вроде этого должно делать:

 $("#dropdown").on("change", function() {//change [dropdown] to the actual ID of your dropdown var selected=$(this).find("option:selected").val();//assuming your dropdown has a value to send, otherwise use text() $.get("options.php?selected="+selected, function(data) { var options=data.split("\n"); var newSelectHTML="<select name=\"whatever\">\n"; for (var i=0;i<options.length;i++) { newSelectHTML+="<option>"+options[i]+"</option>"; } newSelectHTML+="</select>"; $("#form").append(newSelectHTML);//again, change [form] to the correct ID. } } 

Этот код просто получает значение выбранного в данный момент параметра DDL с идентификатором «dropdown» (при необходимости меняет) и отправляет его в файл PHP options.php в $_GET["selected"]; , Предположим, что файл затем выводит список опций, разделенных новой строкой ( \n ). Затем JavaScript берет это, разбивает его по строке, перебирает параметры и создает HTML для нового DDL и добавляет его в form идентификатора элемента. Нет обработки ошибок, но это, как говорится, является упражнением для читателя. Все, что возвращается, находится в переменных data .