在更改另一个列表框值时,将不同的值列表(从数据库)加载到列表框 对于前: 第一个列表框: - 选择成绩 -
第二个列表框: - 选择主题 -
请帮助 谢谢
答案 0 :(得分:1)
基本思想是将数据提交给服务器(通过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中的键/值配对数组)。
我实际上没有测试任何代码,它的设计更像是指南和伪代码。
答案 1 :(得分:0)
当用户从一个select元素中选择一个值时,发送XMLHttpRequest以获取数据以填充第二个select元素。