jQuery获取复选框被选中数量及判断选择值的方法详解


Posted in Javascript onMay 25, 2016

本文实例讲述了jQuery获取复选框被选中数量及判断选择值的方法。分享给大家供大家参考,具体如下:

获取复选框被选中值

<input type="button" id="btn5" value="获得选中的所有值">
<input type="text" name="dd" id="dd" size="50" />
$("#btn5").click(function(){
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+",";
})
$("#dd").val(str)
})

JQuery获取被选中复选框checkbox的个数

通过jQuery获取checkbox选中项的个数,需要用到jQuery的size()方法或length属性,下面的例子是通过length属性获得checkbox选中项的个数

<ul>
 <li><input type="checkbox" name="test" />看电视</li>
 <li><input type="checkbox" name="test" />看电影</li>
 <li><input type="checkbox" name="test" />上网</li>
 <li><input type="checkbox" name="test" />爬山</li>
 <li><input type="checkbox" name="test" />游乐场</li>
 <li><input type="checkbox" name="test" />逛街</li>
 <li><input type="checkbox" name="test" />聚会</li>
</ul>
<p>
<input type="button" id="count" value="有多少CheckBox被选中了?" />
<script type="text/javascript">
$(document).ready(function(){
  $('input[type=checkbox]').click(function(){
    $(this).attr('disabled','disabled');
    if($("input[name='test']:checked").length >= 3)
    {
      $("input[name='test']").attr('disabled','disabled');
    }
  });
  $("#count").click(function(){
    $('input').live('click',function(){ 
      alert($('input:checked').length); 
    });
  })
})
</script>

效果二(选超过三个做弹窗提示):

<script type="text/javascript">
 $('input[type=checkbox]').click(function(){
if($("input[name='test']:checked").length >= 4)
{
$(this).removeAttr("checked");
alert("最多选3个!")}
});
</script>

jquery如何判断checkbox(复选框)是否被选中/全选/返选/取消全选:

在html 如果一个复选框被选中 是 checked="checked"。

但是我们如果用jquery alert($("#id").attr("checked")) 会提示您是true而不是checked

所以很多朋友判断:

if($("#id").attr("checked")=="true")

这个是错误的,其实应该是:

if($("#id").attr("checked")==true)

例子里面包括了一下几个功能。

<input type="button" id="btn1" value="全选">
<input type="button" id="btn2" value="取消全选">
<input type="button" id="btn3" value="选中所有奇数">
<input type="button" id="btn4" value="反选">
<input type="button" id="btn5" value="获得选中的所有值">

代码

<script src="js/jquery-1.6.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
jQuery(function($){ 
//全选 
$("#btn1").click(function(){ 
$("input[name='checkbox']").attr("checked","true"); 
}) 
//取消全选 
$("#btn2").click(function(){ 
$("input[name='checkbox']").removeAttr("checked"); 
}) 
//选中所有基数 
$("#btn3").click(function(){ 
$("input[name='checkbox']:even").attr("checked","true"); 
}) 
//选中所有偶数 
$("#btn6").click(function(){ 
$("input[name='checkbox']:odd").attr("checked","true"); 
}) 
//反选 
$("#btn4").click(function(){ 
$("input[name='checkbox']").each(function(){ 
if($(this).attr("checked")) 
{ 
$(this).removeAttr("checked"); 
} 
else 
{ 
$(this).attr("checked","true"); 
} 
}) 
}) 
//或许选择项的值 
var aa=""; 
$("#btn5").click(function(){ 
$("input[name='checkbox']:checkbox:checked").each(function(){ 
aa+=$(this).val() 
}) 
document.write(aa); 
}) 
}) 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<input type="button" id="btn1" value="全选"> 
<input type="button" id="btn2" value="取消全选"> 
<input type="button" id="btn3" value="选中所有奇数"> 
<input type="button" id="btn6" value="选中所有偶数"> 
<input type="button" id="btn4" value="反选"> 
<input type="button" id="btn5" value="获得选中的所有值"> 
<br> 
<input type="checkbox" name="checkbox" value="checkbox1"> checkbox1 
<input type="checkbox" name="checkbox" value="checkbox2"> checkbox2 
<input type="checkbox" name="checkbox" value="checkbox3"> checkbox3 
<input type="checkbox" name="checkbox" value="checkbox4"> checkbox4 
<input type="checkbox" name="checkbox" value="checkbox5"> checkbox5 
<input type="checkbox" name="checkbox" value="checkbox6"> checkbox6 
<input type="checkbox" name="checkbox" value="checkbox7"> checkbox7 
<input type="checkbox" name="checkbox" value="checkbox8"> checkbox8 
</div> 
</form>

jquery 循环读取checkbox值

$("input[type=checkbox][checked]").each(function(){
//由于复选框一般选中的是多个,所以可以循环输出 
alert($(this).val()); 
});
Javascript 相关文章推荐
JavaScript的类型简单说明
Sep 03 Javascript
js仿百度有啊通栏展示效果实现代码
May 28 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
JavaScript 学习笔记之语句
Jan 14 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
Sep 17 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
JS实现的简单标签点击切换功能示例
Sep 21 Javascript
bootstrap响应式工具使用详解
Nov 29 Javascript
react 父子组件之间通讯props
Sep 08 Javascript
微信小程序实现左侧滑栏过程解析
Aug 26 Javascript
js提交form表单,并传递参数的实现方法
May 25 #Javascript
用JS动态改变表单form里的action值属性的两种方法
May 25 #Javascript
动态设置form表单的action属性的值的简单方法
May 25 #Javascript
Angularjs过滤器使用详解
May 25 #Javascript
jQuery限制图片大小的方法
May 25 #Javascript
jQuery中设置form表单中action值的实现方法
May 25 #Javascript
使用jquery提交form表单并自定义action的实现代码
May 25 #Javascript
You might like
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
js实现内置计时器
2019/12/16 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
Python字符串格式化%s%d%f详解
2018/02/02 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
Django配置文件代码说明
2019/12/04 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
python数据抓取3种方法总结
2021/02/07 Python
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
如何手工释放资源
2013/12/15 面试题
投资意向书范本
2014/04/01 职场文书
个人授权委托书范本
2014/04/03 职场文书
遗嘱继承公证书
2014/04/09 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
法律意见书范文
2015/05/20 职场文书
医院党建工作总结2015
2015/05/26 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技