【发布时间】:2011-10-26 04:48:47
【问题描述】:
在更改另一个列表框值时将不同的值列表(从数据库)加载到列表框 例如: 第一个列表框:-选择等级-
第二个列表框:-选择主题-
请帮忙 谢谢你
【问题讨论】:
标签: php javascript html database
在更改另一个列表框值时将不同的值列表(从数据库)加载到列表框 例如: 第一个列表框:-选择等级-
第二个列表框:-选择主题-
请帮忙 谢谢你
【问题讨论】:
标签: php javascript html database
基本思想是将数据提交到服务器(通过 POST 回传或 AJAX),然后用数据进行响应。
<select id="mySel" onChange="sendData()">
我在那里所做的是添加了一个 javascript 函数,每次下拉值发生变化时都会调用它。
function sendData() {
$.post("processData.php", {selected: $(this).val()}, updateData(data));
}
这是我为 select onChange 事件编写的函数的骨架。我在这里跳过了一两步,并使用 jQuery 来帮助创建返回服务器的 AJAX 请求。我将调用我的 php 脚本processData.php 来帮助处理选择了哪个元素。 {} 包含我要发送到服务器的数据,在这种情况下是选定的值。最后,从服务器取回数据后该怎么办。
现在我将在我的 php 文件中,能够处理我接收的数据并运行我的查询来获取新数据。完成后,我只需 json_encode 数据并回复。
现在回到 javascript 世界,我的 UpdateData 函数被自动调用并传递了 json 数据。
function updateData(data) {
var select = '<select name="sel2">';
$().each(data, function(index, val){
select += '<option name="'+ index+ '">'+ value+ '</option>';
});
$("#mySel").parent.append(select);
}
这将允许我从返回的数据中生成一个新的选择列表(假设 json 中的键/值配对数组)。
我实际上没有测试任何代码,它被设计成更多的指南和伪代码。
【讨论】:
当用户从一个选择元素中选择一个值时,发送一个 XMLHttpRequest 以获取数据以填充第二个选择元素。
【讨论】: