jQuery操作checkBox(多选框)

问题:工作中要用到jQuery操作多选框(checkbox)的知识,就把以前记录及笔记找了出来直接用,但是问题出现了,取消选择之后,再次选中指定的多选框,用浏览器看(F12)是加上了checked属性,但是页面显示没有选中(没有打勾),这里把解决问题的方法总结一下。

下面给出一种解决方案(使用的jQuery版本2.1.3):

1、静态页面CheckBox.html(注意:必须要在check标签里面加上select属性)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jQuery操作ChecBox的用法</title>
		<script type="text/javascript" src="js/jquery.min.js" ></script>
		<script type="text/javascript" src="js/CheckBox.js" ></script>
	</head>

	<body>
		<input type="checkbox" name="checkBox1" value="1" checked="true">1</input>
		<input type="checkbox" name="checkBox1" value="2" checked="true">2</input>
		<input type="checkbox" name="checkBox1" value="3" checked="true">3</input>
		<input type="checkbox" name="checkBox1" value="4" checked="true">4</input>
		<input type="checkbox" name="checkBox1" value="5" checked="true">5</input>
		<input type="checkbox" name="checkBox1" value="6" checked="true">6</input>
		<input type="checkbox" name="checkBox1" value="7" checked="true">7</input>
		<input type="checkbox" name="checkBox1" value="8" checked="true">8</input>
		<input type="checkbox" name="checkBox1" value="9" checked="true">9</input>
	</body>
	<div>
		<input type="button" value="全选"/ onclick="selectAll()">
		<input type="button" value="反选" onclick="fanXuan()"/>
		<input type="button" value="取消选择" onclick="cancelSelect()"/>
	</div>
</html>

2、js文件 多选、取消选择和反选(CheckBox.js)

function selectAll(){
	$("input[name='checkBox1']").each(function(){
	  $(this).prop("checked",true);
	});
}

function fanXuan(){
	$("input[name='checkBox1']").each(function(){
		if($(this).prop("checked") == true){
			alert($(this).attr("checked"));
		    $(this).prop("checked",false);
		}else{
			alert($(this).attr("checked"));
		    $(this).prop("checked",true);
		}
	});
}

function cancelSelect(){
	$("input[name='checkBox1']").each(function(){
	  $(this).prop("checked",false);
	});
}

这里使用的时prop属性,下面分析一下原因,为了避免重造轮子,大家可以到下面两篇文章看一下:

参考文章1:jquery中attr和prop的区别

参考文章2:jquery中attr方法和prop方法的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-16 21:54:24

jQuery操作checkBox(多选框)的相关文章

解决jquery操作checkbox全选全不选无法勾选问题

最近在学习中使用jquery操作checkbox,使用下面方法进行全选.反选:$("input[name='checkbox']").attr("checked","checked");调试时,前两次都没有问题,可以正常显示选中和取消,但当再去选中的时候,复选框的属性checkbox值变为"checked",没问题,但是复选框却不在显示选中状态,明明属性值改了,但是却不显示勾选,太诡异了.代码修改了却得不到正确的显示状态,纠结

JavaScript操作checkbox复选框

JavaScript操作checkbox的方式和操作radio的方式相似,都是利用元素项的checked属性来完成.先获取checkbox元素集合,遍历集合,对集合中的每一项做操作. 这里讲几个常用的checkbox复选框的常见示例. 取值 给定页面 <body> <p> <label for="hobby">Hobby:   <input type="checkbox" name="hobby" val

jquery关于checkbox复选框是否被选中的问题

本人在项目中需要用到,判断哪些复选框被用户选中.自然而然想到用 if($('').attr('checked') == true) 但是不管有没有选,$('').attr('checked')返回的都是undefined,于是百度各种其他的方法: if ($('')get(0).checked) if($('').is(':checked')) 但是都不起作用,后来终于找到问题的原因了.我用的jquery是1.11.3,但是在1.6以后jquery便作出了改进,在页面加载完毕时,checkbox

jquery,js,checkbox多选框复选框取值和赋值

今天一个同事不太会多选框的取值和赋值的问题,我帮他解决了一下,不想自己想的朋友可以参考一下. 获取checkBox的值,checkBox的html如下 <input type="checkbox" value="1" name="sProblem">check1 <input type="checkbox" value="2" name="sProblem">ch

jquery 获取checkbox多选框的值

<input type="checkbox"  value="ep1" name="checkboxMany" checked="checked"/> <input type="checkbox"  value="ep2" name="checkboxMany" /> var checkboxValue=""; $('inp

【jQuery】对于复选框操作的attr与prop

这个是在jQuery1.6版本之后出现的鬼东西.受影响的主要有下拉列表select与复选框checkbox.众所周知,在jQuery中可以用attr()取出节点的属性,然而对于checkbox却不是这样了,比如我要取出其是否被选中的属性checked,attr("checked")去取没有选中的复选框是undefinded的,只能取出被选中复选框的属性.这个问题,导致我在一个条件判断中忙活了比较久的事件.查了一下发现,在jQuery1.6版本之后,你取复选框有没有被选中,要用prop

使用jquery获取被选中checkbox复选框的值

使用jquery获取被选中checkbox复选框的值:checkbox是重要的表单元素,在很多多项选择中使用,下面就通过代码实例介绍一下如何获取复选框中所有被选中项的值,希望能够给需要的朋友带来一定的帮助.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.

jQuery实现的checkbox复选框全选和全不选效果

jQuery实现的checkbox复选框全选和全不选效果:复选框的全选和全不选效果在代码中非常的常用,尤其在批量处理的需求中更是如此,下面就通过一个代码实例简单介绍一下如何实现此效果,希望能够对需要的朋友有所帮助,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http:

jquery获取选中的checkbox复选框的值

jquery获取选中的checkbox复选框的值:checkbox复选框是常用的表单元素之一,既然使用,一般就要获取选中的复选框的值,下面就介绍一下如何使用jQuery实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/