每次我选择一个选项时,它会显示我想要的列表,但不会隐藏其他列表。我是否忘记了切换功能?
$("select#category").change(function() {
var category = $(this).val();
$("select#"+category).toggle();
});
我的清单就这么简单(必须显示“1”选择或“2”而不显示两者):
<form method="post">
<select name="menu_destination" id="category">
<option value="1" >1</option>
<option value="2">2</option>
</select>
<select name="menu_destination" id="1">
<option value="a" >A</option>
<option value="b">B</option>
</select>
<select name="menu_destination" id="2">
<option value="a" >A</option>
<option value="b">B</option>
</select>
答案 0 :(得分:3)
如果没有看到您的HTML,我建议使用siblings()
。如果这不起作用,请发布HTML以获得更准确的解决方案。
$('#' + category).show().siblings().hide();
工作演示:http://jsfiddle.net/AlienWebguy/JgFmY/
P.S。您应该使用$('#whatever')
vs $('select#whatever')
。与CSS不同,第一个在JQuery中更快,因为它使用ECMAScript的本地getElementById()
函数,而后者需要使用sizzle。由于每个DOM节点都应该具有唯一的ID,因此不需要标记名称前缀。