Jquery 获取checkbox的checked问题


Posted in Javascript onNovember 16, 2011

注意: 操作checkbox的checked,disabled属性时jquery1.6以前版本用attr,    1.6以上(包含)建议用prop

1、根据id获取checkbox

 $("#Checkbox1");

2、获取所有的checkbox    

$("input[type='checkbox']");//或者$(":checkbox");

3、获取所有选中的checkbox  

  $("input:checkbox:checked");
  //或$("input[type='checkbox']:checked");
  //或$("input:[type='checkbox']:checked");

4、获取checkbox值
    用.val()获取

$("#Checkbox").val();

 5、获取多个选中的checkbox值   

var vals = [];
 $('input:checkbox:checked').each(function (index, item) {
 vals.push($(this).val());
 });

6、判断checkbox是否选中(jquery 1.6以前版本 用  $(this).attr("checked") 

  用prop查:选中时checked值为true,未选中时checked值为false

$("#cbCheckbox1").click(function () {
 if ($(this).prop("checked")) {
  alert("选中");
 } else {
  alert("没有选中");
 }
});

用attr查:选中checked值为checked,未选中时checked值为undefined

7、设置checkbox为选中状态  

$('input:checkbox').attr("checked", 'checked');

$('input:checkbox').prop("checked", true);

8、设置checkbox为不选中状态

$('input:checkbox').prop("checked", false);//或$('input:checkbox').attr("checked", '');

 9、设置checkbox为禁用状态(jquery<1.6用attr,jquery>=1.6建议用prop)   

$("input[type='checkbox']").attr("disabled", "disabled");
//或$("input[type='checkbox']").attr("disabled", true);
//或$("input[type='checkbox']").prop("disabled", true);
//或$("input[type='checkbox']").prop("disabled", "disabled");

10、设置checkbox为启用状态(jquery<1.6用attr,jquery>=1.6建议用prop)

$("input[type='checkbox']").removeAttr("disabled");
//或$("input[type='checkbox']").attr("disabled", false);
//或$("input[type='checkbox']").prop("disabled", "");

下面是其他网友的补充

事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现.

下面来看看网上大多资料的说法

转别人的一些东西:
jquery判断checkbox是否被选中
在html的checkbox里,选中的话会有属性checked="checked"。
如果用一个checkbox被选中,alert这个checkbox的属性"checked"的值alert($(#xxx).attr("checked")),会打印出"true",而不是"checked"!
如果没被选中,打印出的是"undefined"。
注意红色的部分,这里说到

$("#chekbox").sttr("checked")//should be print "true" , not "checked"

经过测试,证明上面说法有问题

<script type="text/javascript"> 
$(function() { 
$("#button").click(function() { 
alert($("#checkbox").attr("checked")); 
}); 
}); 
</script> 
<input type="checkbox" name="checkbox" id="checkbox">
<input type="button" id="button" value="Click Me">

//上面得出的结果是: 如果勾上checkbox,会打印出 “checked” , 如果取消打勾 会打印出 "undefined"
实验证明Jquery获取checked的值得打印出"true"是错误的
举一反三:
而且发现Jquery获取已经被勾上的checkbox,永远都是"checked" 这让人费解,如果有人知道为什么,可以告诉我一下,哈~~

<script type="text/javascript"> 
$(function() { 
$("#button").click(function() { 
alert($("#checkbox").attr("checked")); 
}); 
}); 
</script> 
<input type="checkbox" name="checkbox" id="checkbox" checked>
<input type="button" id="button" value="Click Me">

//注意红色位置,如果默认checkbox为checked状态,测试会发现,把勾去掉也是只会输出"checked" , 表示不理解为什么 Jquery会这样
解决方法,还是用document.get获取吧:

<script> 
function getcheckbox(){ 
var test = document.getElementById("checkbox").checked; 
alert(test); 
} 
</script> 
<input type="checkbox" name="checkbox" id="checkbox">
<input type="button" id="button" value="Click Me" onclick="getcheckbox()">

//选中为"true",取消选中为"false"
如果有错,希望指正。网上搜索的问题都是一个帖子转N遍,自己测试证明一下

checkbox选中与取消选择

1.html

<form>
 <input type="checkbox" name="items" value="足球" />足球
 <input type="checkbox" name="items" value="篮球" />篮球
 <input type="checkbox" name="items" value="羽毛球" />羽毛球
</form>

2.js

//全选中
$("input:checkbox").prop("checked","checked");
//取消选中
$("input:checkbox").removeAttr("checked");

注意:使用attr(),会发现代码那里的checked="checked",但是页面input上没有显示出来

Javascript 相关文章推荐
javascript的onchange事件与jQuery的change()方法比较
Sep 28 Javascript
基于jquery的文章中所有图片width大小批量设置方法
Aug 01 Javascript
jquery 模板的应用示例
Nov 12 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
Apr 15 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
Sep 01 Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 Javascript
微信小程序 实例应用(记账)详解
Sep 28 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
Apr 04 Javascript
通过构造函数实例化对象的方法
Jun 28 Javascript
利用vscode调试编译后的js代码详解
May 14 Javascript
js实现随机div颜色位置 类似满天星效果
Oct 24 Javascript
vue使用openlayers实现移动点动画
Sep 24 Javascript
JS 操作符整理[推荐收藏]
Nov 15 #Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 #Javascript
关于js datetime的那点事
Nov 15 #Javascript
基于jquery封装的一个js分页
Nov 15 #Javascript
js 利用className得到对象的实现代码
Nov 15 #Javascript
基于jquery的web页面日期格式化插件
Nov 15 #Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
Nov 15 #Javascript
You might like
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
Javascript学习笔记2 函数
2010/01/11 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
ionic2懒加载配置详解
2017/09/01 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
js如何验证密码强度
2020/03/18 Javascript
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python实现ATM系统
2020/02/17 Python
python3 xpath和requests应用详解
2020/03/06 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
pandas数据拼接的实现示例
2020/04/16 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
艺术学院毕业生自荐信
2014/07/05 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Redis 哨兵集群的实现
2021/06/18 Redis