首页 > 编程 > JavaScript > 正文

jquery对复选框(checkbox)的操作汇总

2019-11-20 10:48:51
字体:
来源:转载
供稿:网友

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(','));

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表