首页 新闻 会员 周边

jQuery全选checkbox问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-04 13:59

$("#btnAll").click(function () {
$("[name='items']:checkbox").attr("checked", true);
});
这样绑定怎么全选按钮不太灵,只能1次有效,再按就没反应了,求解。谢谢

具体代码:

<form>
<fieldset>
<legend>What is your favourite sport?</legend>
<input type="checkbox" name="items" value="Soccer" />Soccer
<input type="checkbox" name="items" value="Basketball" />Basketball
<input type="checkbox" name="items" value="Tennis" />Tennis
<input type="checkbox" name="items" value="Ping-Pang" />Ping-Pang
<input type="checkbox" name="items" value="Swimming" />Swimming
</fieldset>
<input type="button" id="btnAll" value="All" />
<input type="button" id="btnNot" value="All not" />
<input type="button" id="btnRev" value="Reverse" />
</form>
<script>
$(function () {
$("#btnAll").click(function () {
$("[name='items']:checkbox").attr("checked", true);
});
$("#btnNot").click(function () {
$("[name='items']:checkbox").attr("checked", false);
});
$("#btnRev").click(function () {
$("[name='items']:checkbox").each(function () {
this.checked = !this.checked;
});
});
});

上面全不选和反选都行。但是反选如果用$(this).attr("checked", !$(this).attr("checked"))也不行,为什么?

kafka No.14的主页 kafka No.14 | 初学一级 | 园豆:122
提问于:2013-02-23 22:50
< >
分享
最佳答案
0

应该是attr这个方法在checkbox上面有些小问题。我自己也遇到过。解决方法就是

$("#btnAll").click(function () {

$(":checkbox").each(function (index, element) {
element.checked = true;
});
});

收获园豆:5
陈希章 | 老鸟四级 |园豆:2538 | 2013-02-24 11:51

嗯,这么写是ok的,谢谢了。

kafka No.14 | 园豆:122 (初学一级) | 2013-02-24 18:51
其他回答(2)
0

亲自测试,在chrome, ff, IE9游览器中楼主的代码,效果都有。

chenping2008 | 园豆:9836 (大侠五级) | 2013-02-24 11:28

我是chrome,jQuery-1.9.1。。可能是jQuery版本的问题

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2013-02-24 18:47
0

jQuery版本问题,在jQuery1.6版本及更早版本可用attr。

收获园豆:5
jone_e | 园豆:1410 (小虾三级) | 2013-02-25 16:14

嗯,多谢。

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2013-02-25 20:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册