检测列表中用户的选择

时间:2011-09-03 20:22:45

标签: jquery

当用户在下面的第一个列表中选择“a”选项(id = 1)时,我想显示第二个表单(id = 2)。如何检测列表中的用户选择(只是选择,而不是提交)?

 <form method="post" id="1" >
      <select name="menu_destination">
           <option value="a" >A</option>
           <option value="b">B</option>
      </select>
 </form>

 <form method="post" id="2" >
      <select name="menu_destination">
           <option value="a" >A</option>
           <option value="b">B</option>
      </select>
 </form>

编辑:我已经遇到了另一个问题:每次我选择一个选项时,它会显示一个列表,而不会隐藏其他选项。讨厌,不是吗?

$("select#category").change(function() {
    var category = $(this).val();
    $("select#"+category).toggle();
});

1 个答案:

答案 0 :(得分:3)

简单。并且ID不应该以数字开头,至少在HTML5到处都没有。

$("#one select").change(function() {
    $("#two").toggle($(this).val() == "a");
});

Demo.

注意:在演示中,第二个表单的可见性最初是通过style="display:none"隐藏的,但是当页面加载时它是可见,因为我们最初触发更改event在第一个表单的下拉列表中根据最初选择的内容(即最初呈现的内容)设置表单的正确状态。