Javascript 选中jquery中的所有复选框
为什么在我的js代码中只需点击一下Javascript 选中jquery中的所有复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,为什么在我的js代码中只需点击一下name:check_allchecking all复选框就可以了 HTML: <div id="ss"> <input type="checkbox" name="check_all"> </div> <input type="checkbox" name="checked" class="idRow"> <input type="checkbox" name="checked" class="id
name:check_all
checking all复选框就可以了
HTML:
<div id="ss">
<input type="checkbox" name="check_all">
</div>
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
$(document).on('click change','input[name="check_all"]',function() {
var checkboxes = $('.idRow');
if($(this).is(':checked')) {
checkboxes.attr("checked" , true);
} else {
checkboxes.attr ( "checked" , false );
}
});
演示:
我的jQuery版本是1.9。
如何修复它?使用
.prop
,而不是.attr
,来更改元素的属性.attr
用于HTML属性
使用
prop
方法。当您的标记被呈现时,属性成为元素的属性,使用JavaScript您应该修改元素的属性
$(document).on('change','input[name="check_all"]',function() {
$('.idRow').prop("checked" , this.checked);
});
请注意,如果未动态生成input[name=“check_all”]
,则无需委派事件。修复方法如下:-
$(document).on('click change','input[name="check_all"]',function() {
var checkboxes = $('.idRow');
if($(this).is(':checked')) {
checkboxes.each(function(){
this.checked = true;
});
} else {
checkboxes.each(function(){
this.checked = false;
});
}
});
完整解决方案选择| |取消选择复选框jQuery:
$(document).ready(function() {
$("#checkedAll").change(function(){
if(this.checked){
$(".checkSingle").each(function(){
this.checked=true;
})
}else{
$(".checkSingle").each(function(){
this.checked=false;
})
}
});
$(".checkSingle").click(function () {
if ($(this).is(":checked")){
var isAllChecked = 0;
$(".checkSingle").each(function(){
if(!this.checked)
isAllChecked = 1;
})
if(isAllChecked == 0){ $("#checkedAll").prop("checked", true); }
}
else {
$("#checkedAll").prop("checked", false);
}
});
});
Html应为:
选中三个复选框上的单个复选框将被选中和取消选中
<input type="checkbox" name="checkedAll" id="checkedAll"></input>
<input type="checkbox" name="checkAll" class="checkSingle"></input>
<input type="checkbox" name="checkAll" class="checkSingle"></input>
<input type="checkbox" name="checkAll" class="checkSingle"></input>
希望这能像帮助我一样帮助别人。亲爱的耶稣,这么多代码,而你需要做的就是: