第一个DropDownList改变之后如何加载数据库从第二个下拉列表(How to load sec

2019-06-24 08:52发布

我建立一个Web应用程序。 在一些点,用户需要将数据输入到一个形式。 这种形式有几个文本字段和DropDownLists

其中的DDL依赖于以前的DDL。 所发生的是,当用户选择从第一DDL的值,则第二DDL应当从涉及第一DDL的选择的值的数据库加载数据。

到现在为止,我只实现PHPJS ,(没有AJAXjQuery处理我的大部分问题,或其他任何东西)。

我想知道的第一DDL中选择了项目后,如何填充从数据库中第二DDL。

任何帮助,将不胜感激。 谢谢!

Answer 1:

Ajax是你最好的选择。 这将有助于



Answer 2:

下面是一个例子:

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

谷歌是你的朋友:)



Answer 3:

如果在第二个下拉的数据依赖于在所述第一数据,那么你将不得不到第二下拉的值加载到javascript对象,像这样:

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

一个“变化”事件添加到第一个下拉,并考虑到下拉的值,加载与包含在值的第二下拉的内容secondData对象。



Answer 4:

如果你舒适的使用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.
    }
}

此代码简单地获取与ID“下拉”(视需要而定)的DDL的当前选择的选项的值,并将其发送给在PHP文件options.php $_GET["selected"]; 。 假设文件然后输出的一个新行(分离选项的列表\n )。 中的JavaScript然后采取的是,通过线将其分解,在选项循环,并创建一个新的DDL HTML和追加一条到元件ID form 。 没有错误处理是存在的,但是,正如他们所说,是读者的练习。 不管返回是在可变data



文章来源: How to load second DropDown list from Database after first DropDownList is changed