首页 » 网页设计 » 正文

jquery checkbox勾选/取消勾选的异常问题

jquery实现的复选框全选功能。代码如下

1
2
3
4
5
6
7
8
9
10
<form>
	你爱好的运动是?
	<input type="checkbox" id="CheckedAll" />全选/全不选<br />
	<input type="checkbox" name="items" value="足球" />足球
	<input type="checkbox" name="items" value="篮球" />篮球
	<input type="checkbox" name="items" value="羽毛球" />羽毛球
	<input type="checkbox" name="items" value="乒乓球" />乒乓球
	<br />
	<input type="button" id="send" value="提 交" />
</form>

1
2
3
4
5
6
7
$("#CheckedAll").click(function () {
	if ($(this).is(":checked")) {
		$("[name=items]:checkbox").attr("checked", true);
	} else {
		$("[name=items]:checkbox").attr("checked", false);
	}
});

第一次执行,没问题,但第二次执行就有问题了,选择不了

解决办法:把attr()换成prop()

1
2
3
4
5
6
7
$("#CheckedAll").click(function () {
	if ($(this).is(":checked")) {
		$("[name=items]:checkbox").prop("checked", true);
	} else {
		$("[name=items]:checkbox").prop("checked", false);
	}
});

PS:prop()和attr()区别:参考 http://hxq0506.iteye.com/blog/1046334

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据