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来实现的话应该怎么写?

参考技术A <div class="checkbox">
<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事件

关于jQ的Ajax操作

JQ中操作checkbox

通过cookie实现搜索框内容保存关闭浏览器之前的操作jq js实现方法

jQuery基础2-jq的操作

jQuery-强大的jq选择器和基本操作。