如果在第一个下拉列表中选择了一个值(使用变量),则显示第二个下拉列表?

时间:2013-03-05 14:16:52

标签: php javascript jquery

有没有什么方法可以在下拉列表中选择某个值,并根据该选择显示第二个下拉列表? 我知道如何用正常的单词来做,但如果我使用变量名怎么办?

University Name: <select name="university" id="university">
<?php 
    while($row = mysql_fetch_array($uniName)) {
        echo "<option>" . $row['uni_name'] . "</option>"; 
    }
?> 
</select>
<br/>
Course Name: <select name='course' id='course'>
<?php 
    while($row = mysql_fetch_array($courseNames)) {
        echo "<option>" . $row['course_name'] . "</option>"; 
    }
?>
</select>

你可以看到,在第一个下拉列表中,我已经从我的数据库中添加了所有检索到的大学名称。我也为课程做了同样的事。

现在我该如何修改以下代码:

$(document).ready(function() {
    $('#course').hide();

    $('#university').change(function () {
        if ($('#university option:selected').text() == "Harvard University"){
            $('#course').fadeIn('slow');
        }
        else { 
            $('#course').fadeOut('slow');
        }
    });
});

我想根据用户选择的内容在那里放置一个变量,而不是“哈佛大学”。像$ university_name之类的东西然后我将创建一个新的查询并只显示属于某个$ university_name的课程。

1 个答案:

答案 0 :(得分:0)

正如我在评论中所述,我建议使用AJAX填充course框。

$.ajax("getCourses.php", {
    data: { UID: uid },
    type: 'POST',
    done: function(result) {
        $("#course").html(result);
});

这将使用getCourses输出的任何内容填充select标签。

UID当然是相关大学的ID。

This page包含您需要的所有信息。有关更多信息和示例,Google是您的朋友:)