我的网页上有两个下拉菜单。一个是课程列表,另一个是学生列表。我想要做的是,当在课程菜单中进行选择时,它将更新学生菜单以仅列出该课程中的学生。
所有课程和学生数据都保存在MySQL数据库中。用于检索我想要的结果的SQL语句不是问题。我有那些想通了。问题是我不知道如何在不使用提交按钮的情况下获得一个下拉菜单来更新另一个。有没有办法让课程菜单在更改时调用php函数,这会更新学生菜单吗?
我已经查看了几个类似的问题,但是当第二个菜单更新时,很多菜单会重置第一个菜单。我需要在页面上打印选定的课程和学生。
这可以用PHP完成,还是Javascript会更优选?如果有人能指出正确的方向,那将非常感激。
答案 0 :(得分:0)
有没有办法让课程菜单在更改时调用php函数,这会更新学生菜单?
是。对此的嗡嗡声是AJAX。
您最终将使用JavaScript和PHP来执行此操作。实际的实现非常复杂,所以我将为您列出基本步骤。
change
事件。echo
,print
等)。< / LI>
答案 1 :(得分:0)
这样做的一般方法是使用jQuery向您的下拉选择器添加一个钩子,并在页面的另一部分上触发AJAX加载,并将其作为HTML片段检索到的数据( )或JSON数据变成一个(更难)。
一个非常快速和脏的版本是抓取页面的一部分并使用$.load()
重新填充当前文档:
$('#select1').on('change', function() {
$('#select2').load('select.php #select2', 'select1=' + $(this).val())
})
这是一个粗略的想法:当您的第一个选择框发生变化时,请加载select.php
页面或您正在使用的任何内容,并添加参数select=N
,其中N
被选中值。然后它会删除#select2
部分并替换它。