解决jQuery操作checkbox第二次失效的问题
2015-08-15 19:51
639 查看
直接上代码:
问题:第一次点击可以出现想要的结果,可是第二次点击全选,则再也没有选中。
根源:jQuery版本的问题。对于$(“**”).attr(“attrName”),jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断。所以将代码更改如下即可解决问题。
<html> <head> <script src="jquery.js"></script> <script> $(function(){ $("#selectAll").click(function(){ $(":checkbox").attr("checked",true); }); $("#selectNo").click(function(){ $(":checkbox").attr("checked",false); }); $("#selectInverse").click(function(){ $(":checkbox").each(function(){ $(this).attr("checked",!$(this).attr("checked")); }) }); }); </script> </head> <body> 足球<input type="checkbox" name="items" value="足球" > 蓝球<input type="checkbox" name="items" value="蓝球"> 排球<input type="checkbox" name="items" value="排球"> 羽毛球<input type="checkbox" name="items" value="羽毛球"> <input type="button" id="selectAll" value="全选" onclick="selectAll()"> <input type="button" id="selectNo" value="全不选"> <input type="button" id="selectInverse" value="反选"> </body> </html>
问题:第一次点击可以出现想要的结果,可是第二次点击全选,则再也没有选中。
根源:jQuery版本的问题。对于$(“**”).attr(“attrName”),jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断。所以将代码更改如下即可解决问题。
<script> $(function(){ $("#selectAll").click(function(){ $(":checkbox").prop("checked",true); }); $("#selectNo").click(function(){ $(":checkbox").prop("checked",false); }); $("#selectInverse").click(function(){ $(":checkbox").each(function(){ $(this).prop("checked",!$(this).prop("checked")); }) }); }); </script>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- JavaScript演示排序算法
- jQuery Ajax 跨域调用
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- jQuery菜单插件用法实例
- JQuery 初体验(建议学习jquery)
- Jquery实现的table最后一行添加样式的代码
- jQuery 练习[一] 学习jquery的准备工作
- jquery获得页面元素的坐标值实现思路及代码
- 使用Browserify配合jQuery进行编程的超级指南
- jquery如何实现在加载完iframe的内容后再进行操作
- jquery $.ajax()取xml数据的小问题解决方法
- jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
- Jquery 表单取值赋值的一些基本操作
- jQuery实现复选框批量选择与反选的方法
- jQuery中的常用事件总结
- 23个超流行的jQuery相册插件整理分享
- 影响jQuery使用的14个方面
- jQuery 仿百度输入标签插件附效果图