昨天我在这个论坛上问了一个问题,关于如何根据另一个下拉列表更新HTML下拉列表(选择列表)。不幸的是,某些用户并不清楚。但没关系,我知道它是怎么工作的了。那么,让我们从脚本开始,我把它上传到pastebin: http://pastebin.com/sFhbPAFj
我的目标是什么?
在第一个下拉列表(lecturer_id)中,我有一些讲师的名字和ID。这个信息来自于PostgreSQL数据库。例如,列表可以是:
X第二个列表应该包含讲座所教授的课程。另一个例子:
数学该信息也来自数据库,但它应该是动态的。比如我选择Y老师,第二个列表应该是和其他课程一起更新的。
问题是,我不知道如何将这些数据从我的PHP应用程序转移到上面的脚本,另一方面,我不知道如何从jQuery脚本中获得lecturer_id到我的PHP代码。(我需要那个ID来用课程填充列表)
我希望这次我的问题是明确的。最好使用AJAX。比如:
$("#teacher_select").change(function(){
id = $(this).val();
$.ajax({
type: "GET",
url: "some.php/?id=" + id, // perform a query for all courses taught by this teacher and return html
success: function(data){
$("#course_select").html(data);
}
});
});
你也可以返回一个json对象并在客户端(即在success
函数中)转换为HTML,在这种情况下不要忘记添加dataType:"json"
。
编辑:检索加载的第一个教师的课程,只需使用相同的ajax请求响应onload
事件-或在JQuery $(document).ready();
-这将得到您当前选择的教师的课程
您可以使用jQuery ajax函数调用具有教师id的数据库来获取课程并更新第二个下拉列表。
Btw用户jQuery为您所有的javascript。代替使用for
,你可以使用jQuery each
.