下拉列表,其中选项填充第二个列表js / php?

时间:2009-11-01 11:29:48

标签: php javascript

我有一个2个下拉列表并排。当用户从第一个列表中选择时,我需要显示第二个列表的选项。

将从数据库中检索子选项。我有一个页面,将返回给定特定父母的必要的HTML。我只需要第一个列表的选择来触发列表#2的更新。

最好的方法是什么?

<select id="parent" name="list1">
    <option value="1">Parent 1</option>
    <option value="2">Parent 2</option>
    <option value="3">Parent 3</option>
    <option value="4">Parent 4</option>
</select>

<select id="child" name="list2">
</select>

警告:不能使用表单,因为选择是另一种形式的一部分。

3 个答案:

答案 0 :(得分:1)

使用select onchange来调用ajax函数来检索新数据

答案 1 :(得分:1)

执行此操作的常规方法是在选择第一个下拉列表以检索第二个内容后执行AJAX请求。

你究竟是如何做的将取决于你正在使用的框架/库,但这里是一个为它设计的jQuery插件的例子:

jQuery cascade plugin

还有一些关于SO的相关问题可能有所帮助:

https://stackoverflow.com/search?q=cascading+dropdown

答案 2 :(得分:0)

一种简单的方法是设置脚本以输出生成的选择列表的整个标记,并将其注入包装元素,例如:

<div id="wrapper">
    <select id="child" name="list2">
    </select>
</div>

$("#parent').change(function() {
    $('#wrapper').load('getSelect.php','selection=' + $(this).val());
    return false; // may or may not be needed
});