JQ中操作checkbox
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQ中操作checkbox相关的知识,希望对你有一定的参考价值。
jsp代码如下:
<div class="checkbox">
<label><input name="checkitem" type="checkbox" value="$item.id">$item.name</label>
<c:forEach var="right" items="$item.children">
<div class="checkbox">
<label><input name="checkitem" type="checkbox" value="$right.id">$right.name</label>
</div>
</c:forEach>
</div>
right是item的子checkbox,我想实现的功能是当选中item的时候,这个item下的所有right也同时选中,用JQ来实现的话应该怎么写?
<label><input name="checkitem parent_node" type="checkbox" value="$item.id">$item.name</label>
<c:forEach var="right" items="$item.children">
<div class="checkbox">
<label><input name="checkitem" itemid="parent_$item.id" type="checkbox" value="$right.id">$right.name</label>
</div>
</c:forEach>
</div>
<script>
$(function()
$(".parent_node").click(function()
var pid = $(this).val();
var checked = $(this).attr('checked');
$('input[itemid="parent_'+pid+'"]').attr('checked',checked );
)
)
</script>
jq checkbox的操作——全选反选
1、全选
$("#btn1").click(function(){ $("input[name=‘checkbox‘]").attr("checked","true"); })
2、取消全选(全不选)
$("#btn2").click(function(){ $("input[name=‘checkbox‘]").removeAttr("checked"); })
3、选中所有奇数
$("#btn3").click(function(){ $("input[name=‘checkbox‘]:odd").attr("checked","true"); })
4、选中所有偶数
$("#btn6").click(function(){ $("input[name=‘checkbox‘]:even").attr("checked","true"); })
5、反选
$("#btn4").click(function(){ $("input[name=‘checkbox‘]").each(function(){ if($(this).attr("checked")) { $(this).removeAttr("checked"); } else { $(this).attr("checked","true"); } }) })
或者
$("#invert").click(function(){ $("#ruleMessage [name=‘delModuleID‘]:checkbox").each(function(i,o){ $(o).attr("checked",!$(o).attr("checked")); }); });
6、获取选择项的值
var aa=""; $("#btn5").click(function(){ $("input[name=‘checkbox‘]:checkbox:checked").each(function(){ aa+=$(this).val() }) document.write(aa); }) })
7、遍历选中项
$("input[type=checkbox][checked]").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出 alert($(this).val()); });
8、例子
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>无标题页</title> <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> </body> </html>
JQuery实现全选功能(解决只能全选一次的问题)
Step-1 : JS实现
//全选、取消全选的事件 function selectAll(){ console.log(1); console.log($("#checkall").prop("checked")); if ($("#checkall").prop("checked")) { console.log(2); $("input[type=‘checkbox‘][name=‘checkedres‘]").prop("checked",true);//全选 } else { console.log(3); $("input[type=‘checkbox‘][name=‘checkedres‘]").prop("checked",false); //取消全选 } } //子复选框的事件 function setSelectAll(){ //当没有选中某个子复选框时,SelectAll取消选中 if (!$("#checkedres").checked) { $("#checkall").prop("checked", false); } var chsub = $("input[type=‘checkbox‘][name=‘checkedres‘]").length; //获取subcheck的个数 var checkedsub = $("input[type=‘checkbox‘][name=‘checkedres‘]:checked").length; //获取选中的subcheck的个数 if (checkedsub == chsub) { $("#checkall").prop("checked", true); } }
以上是关于JQ中操作checkbox的主要内容,如果未能解决你的问题,请参考以下文章
jQuery框架使用,jq选择器,jq操作页面内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息,js/jq页面加载完毕事件,jq事件