遇到了这个问题:
<input type="checkbox" name="fasdf" value="1" id="dsasd" ></input>
<input type="checkbox" name="fasdf" value="2" id="hjiuhhjb" ></input>
<script type="text/javascript" src="/asdf/js/jquery-1.11.0.min.js"></script>
<script>
var numberChecked = jQuery("input[name='fasdf']").length;
alert(numberChecked);
jQuery("input[name='fasdf']").attr('checked', true);
</script>
numberChecked始终返回1,并选中第一个复选框。如果我更改第一个复选框的名称,则选中第二个复选框。为什么呢?
提前致谢
已编辑:功能已删除
答案 0 :(得分:0)
因为你给了复选框相同的名字
一些jQuery函数仅针对第一个匹配元素(在您的情况下,您的目标是多个)
当您更改第一个复选框名称时,目标唯一的复选框是#hjiuhhjb
这是一个简单的解决方案:
jQuery("input[name='fasdf']").each(function(){
$(this).attr('checked', true);
});
.each()
会迭代匹配的所有元素(更多:.each)