0

我在我的项目(学校管理)中遇到了一些奇怪的情况,并且在互联网上找不到合适的解决方案。这就是问题所在,我有三个<select>元素,第一个是选择课程,第二个是选择该课程中的部分,第三个是从该部分中选择课程。代码如下

<select id="class">
    <option value="class1">Class 1</option>
    <option value="class2">Class 2</option>
</select>


<select id="section">
    <!--sections will be drawn here from database using ajax, based on class selected in 1st dropdown-->
</select>


<select id="course">
    <!--when a section is selected in 2nd dropdown, courses of that section will be drawn here from database using ajax-->
</select>

我的 ajax 代码在更改#class 时绘制#section,它只是将选定的类发送到 draw_sections.php,在那里我使用 $_GET[] 来获取它的值并在查询中使用它来选择其中的部分来自数据库的类

$("#class").change(function(){
   var class = $(this).val();
   $.ajax({
       url: "draw_sections.php?class="+class+"", success: function(sections) {
         $("#section").html(sections);
       } 
    });
});

到目前为止,它可以正常工作并绘制所选类的部分。<select>现在,当在 2nd 中选择一个部分时,我想在 3rd 下拉菜单中绘制课程<select>。这是 ajax 我的 ajax 代码

$("#section").change(function(){
       var section = $(this).val();
       $.ajax({
           url: "draw_courses.php?section="+section+"", success: function(courses) {
             $("#course").html(courses);
           } 
        });
  });

此功能旨在将部分(就像在课堂上所做的那样)提取到 draw_course.php 并从数据库中选择该部分的课程,然后在第三个下拉列表中绘制它(就像它在第一个下拉列表中所做的那样),但问题是这些部分是通过 ajax 绘制的,选择一个部分不会影响课程下拉菜单。源代码中也不存在这些部分。因为我是 ajax 的初学者,所以无法比这更好地解释我的问题。

4

2 回答 2

1

试试 jQuery.on

  $("#section").on('change',function(){
      //code here
    });
于 2013-02-22T11:41:22.393 回答
1

你需要使用delegate或者on因为select盒子是动态构建的

$("body").delegate('#section','change',function(){
  //code
});

或者

$("#section").on('change',function(){
//code
});
于 2013-02-22T11:43:19.030 回答