根据另一个列表框值将值列表加载到列表框中

时间:2011-10-26 04:48:47

标签: php javascript html database

在更改另一个列表框值时,将不同的值列表(从数据库)加载到列表框 对于前: 第一个列表框: - 选择成绩 -

第二个列表框: - 选择主题 -

请帮助 谢谢

2 个答案:

答案 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元素。