<div>
<input type="checkbox" value="a"/>a
<input type="checkbox" value="b"/>b
<input type="checkbox" value="c"/>c
<input type="checkbox" value="d"/>d
</div>
<input id="allcheck" type="button" value="全选"/>
<input id="nocheck" type="button" value="全不选"/>
$(function(){
$("#allcheck").click(function(){
$("div :checkbox").attr("checked",true);
});
$("#nocheck").click(function(){
$("div :checkbox").attr("checked",false);
});
});
我只想简单的实现一个全选和全不选,当我点击全选之后,在点击全不选,之后再点击全选就选不了了,到底为什么全选不了了啊.
我也试了一下;checked=true和false都在改变,但是就没有勾,不知道为什么;
我之前一般这样写:
$(function(){
var obj = $("input:checkbox");
$("#allcheck").click(function(){
for(var i = 0 ;i <obj.length;i++){
if (obj[i].checked == false) {
obj[i].checked = true;
}
}
});
$("#nocheck").click(function(){
for(var i = 0 ;i <obj.length;i++){
if (obj[i].checked == true) {
obj[i].checked = false;
}
}
});
});
亲测可用。
移除checked属性
为了验证你的情况,我特地试了一下,你的代码应该是没问题的。然后我用chrome和ie也都试了一下,还是没问题。那问题就真不知道在哪了,可能是你没点击到按钮-,-,也可能是你其它地方的代码有影响到这里操作的的dom元素
什么版本的jquery?1.5+用prop
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script>
<div>
<input type="checkbox" value="a" />a
<input type="checkbox" value="b" />b
<input type="checkbox" value="c" />c
<input type="checkbox" value="d" />d
</div>
<input id="allcheck" type="button" value="全选" />
<input id="nocheck" type="button" value="全不选" />
<script>
$(function () {
$("#allcheck").click(function () {
$("div :checkbox").prop("checked", true);
});
$("#nocheck").click(function () {
$("div :checkbox").prop("checked", false);
});
});
</script>