checkbox判断是否选中,赋值,及全选事件 jquery
jquery判断checkbox是否选中的方法:
.attr('checked'); //1.5-返回:true/false;1.6+返回:'checked' / 'undefined';
.prop('checked'); //16+:true/false;
.is(':checked'); //所有版本:true/false;
jquery checkbox为赋值选中的写法:
.attr('checked','checked');
.attr('checked',true);
.prop('checked', checked);
.prop('checked', true);
jquery checkbox的全选事件:
1.html代码如下:
<input type="checkbox" class="check" value="checkbox1"/>checkbox1<br/>
<input type="checkbox" class="check" value="checkbox2"/>checkbox2<br/>
<input type="checkbox" class="check" value="checkbox3"/>checkbox3<br/>
<input type="checkbox" class="check" value="checkbox4"/>checkbox4<br/>
<input type="checkbox" id="all" value="all">全部
2.js代码如下:
<script>
var checks =$('.check');
var checkedList = []; // 用来存下所有选中元素的值
//全选按钮改变(也可用click事件)改变checked的值
$('#all').change(function () {
if ($(this).is(':checked')) {
$(this).prop('checked', true);
checks .prop('checked', true);
for (var i =0; i < checks.length; i++) {
checkedList.push(checks[i].value)
}
}else {
$(this).prop('checked', false);
checks .prop('checked', false);
checkedList = [];
}
});
//单个改变
checks.change(function () {
if ($(this).is(':checked')) {
$(this).prop('checked', true);
checkedList.push($(this).val());
if (checkedList.length === checks.length) {
$('#all').prop('checked', true);
}
}else {
$(this).prop('checked', false);
var index = checkedList.indexOf($(this).val());
checkedList.splice(index, 1);
$('#all').prop('checked', false);
}
});
</script>