我有一个表单,它有很多下拉菜单。用户选择一个选项并出现相关的文本框。我使用.delegate()
来获得select
s上的每个更改。但是,当用户更改说第三个,所有选择同时更改,如何在单独选择时进行更改,同时有很多选择
$(function() {
$("#formbody").delegate("select", "change", function(){
var type = $(this).find("option:selected").val();
$("input").hide().filter("." + type).show();
$(":button").show();
});
});
所有选择动态添加到div,与增量id。
<div id="div1">
<select id="new">
<option value="one">one</option>
<option value="two">two</option>
</select>
<input class="one" name="first_input"/>
<input class="two" name="second_input"/>
</div>
<div id="div2">
<select id="new">
<option value="one">one</option>
<option value="two">two</option>
</select>
<input class="one" name="first_input"/>
<input class="two" name="second_input"/>
</div>
但是因为我不知道JQuery,所以我找不到解决方案。
的ID必须是唯一的 – 2012-02-28 07:57:46
尝试用唯一的ID。 – 2012-02-28 07:58:42
仅供参考,.delegate现在被jQuery 1.7中的.on方法取代。 – 2012-02-28 08:03:13