Вопрос по drop-down-menu, php, javascript – Как загрузить второй список DropDown из базы данных после изменения первого DropDownList

0

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

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

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

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

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

вероятно, Ajax будет лучшим решением Moyed Ansari
@PedroFerreira Я хотел бы знать, как реализовать такую функцию. hermann
А какой у тебя вопрос? ubik

Ваш Ответ

4   ответа
0

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

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

Error: User Rate Limit ExceededsecondData объект.

1

Аякс - ваш лучший выбор. этот поможет

3

Вот пример:

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

Гугл твой друг :)

Error: User Rate Limit Exceeded
0

Если вам удобно использовать 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.
    }
}

Error: User Rate Limit Exceeded$_GET["selected"];, Предполагая, что этот файл затем выводит список параметров, разделенных новой строкой (\n). Затем JavaScript принимает это, разбивает его на строки, перебирает опции, создает HTML для нового DDL и добавляет его к идентификатору элемента.form, Там нет обработки ошибок, но это, как говорится, упражнение для читателя. Все, что возвращается, находится в переменнойdata.

Похожие вопросы