Welcome 微信登录

首页 / 脚本样式 / JavaScript / jquery对复选框(checkbox)的操作汇总

jquery操作复选框(checkbox)的12个小技巧。
1、获取单个checkbox选中项(三种写法)

$("input:checkbox:checked").val()
或者

$("input:[type="checkbox"]:checked").val();
或者

$("input:[name="ck"]:checked").val();
2、 获取多个checkbox选中项

$("input:checkbox").each(function() {if ($(this).attr("checked") ==true) {alert($(this).val());}});
3、设置第一个checkbox 为选中值

$("input:checkbox:first").attr("checked","checked");
或者

$("input:checkbox").eq(0).attr("checked","true");
4、设置最后一个checkbox为选中值

$("input:radio:last").attr("checked", "checked");
或者

$("input:radio:last").attr("checked", "true");
5、根据索引值设置任意一个checkbox为选中值

$("input:checkbox).eq(索引值).attr("checked", "true");
索引值=0,1,2....
或者

$("input:radio").slice(1,2).attr("checked", "true");
6、选中多个checkbox同时选中第1个和第2个的checkbox

$("input:radio").slice(0,2).attr("checked","true");
7、根据Value值设置checkbox为选中值

$("input:checkbox[value="1"]").attr("checked","true");
8、删除Value=1的checkbox

$("input:checkbox[value="1"]").remove();
9、删除第几个checkbox

$("input:checkbox").eq(索引值).remove();
索引值=0,1,2....
如删除第3个checkbox:

$("input:checkbox").eq(2).remove();
10、遍历checkbox

$("input:checkbox").each(function (index, domEle) {//写入代码});
11、全部选中

$("input:checkbox").each(function() {$(this).attr("checked", true);});
12、全部取消选择

$("input:checkbox").each(function () {$(this).attr("checked",false);});
JQuery对CheckBox的一些相关操作

一、通过选择器选取CheckBox:
  1.给CheckBox设置一个id属性,通过id选择器选取:
 
<input type="checkbox" name="myBox" id="chkOne" value="1" checked="checked" />
    JQuery:
$("#chkOne").click(function(){});
   2.给CheckBox设置一个class属性,通过类选择器选取:
<input type="checkbox" name="myBox" class="chkTwo" value="1" checked="checked" />
    JQuery:
$(".chkTwo").click(function(){}); 
  3.通过标签选择器和属性选择器来选取:

<input type="checkbox" name="someBox" value="1" checked="checked" /><input type="checkbox" name="someBox" value="2" />
   JQuery:

$("input[name="someBox"]").click(function(){}); 
二、对CheckBox的操作:
   以这段checkBox代码为例:

<input type="checkbox" name="box" value="0" checked="checked" /><input type="checkbox" name="box" value="1" /><input type="checkbox" name="box" value="2" /><input type="checkbox" name="box" value="3" />
   1.遍历checkbox用each()方法:

$("input[name="box"]").each(function(){});
   2.设置checkbox被选中用attr();方法:

 $("input[name="box"]").attr("checked","checked"); 
    在HTML中,如果一个复选框被选中,对应的标记为 checked="checked"。 但如果用jquery alert($("#id").attr("checked")) 则会提示您是"true"而不是"checked",所以判断 if("checked"==$("#id").attr("checked")) 是错误的,应该是 if(true == $("#id").attr("checked"))
 
  3.获取被选中的checkbox的值:

$("input[name="box"][checked]").each(function(){if (true == $(this).attr("checked")) { alert( $(this).attr("value") );}
     或者:

$("input[name="box"]:checked").each(function(){if (true == $(this).attr("checked")) { alert( $(this).attr("value") );}
   $("input[name="box"]:checked")与 $("input[name="box"]")有何区别没试过,我试了用 $("input[name="box"]")能成功。
   4.获取未选中的checkbox的值:
$("input[name="box"]").each(function(){ if ($(this).attr("checked") ==false) {alert($(this).val());} });
   5.设置checkbox的value属性的值:
 $(this).attr("value",值);
三、 一般都是创建一个js数组来存储遍历checkbox得到的值,创建js数组的方法:
     1.  var array= new Array();
     2. 往数组添加数据:
        array.push($(this).val());
     3.数组以“,”分隔输出:
         alert(array.join(","));