layui 复选框 使用 及jq基本方法

Posted fanyixiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layui 复选框 使用 及jq基本方法相关的知识,希望对你有一定的参考价值。

 1.赋值

<div class="layui-form-item QDmrgbottom10">
                                    <label class="layui-form-label QDTLW"><i>*</i>监管形式</label>
                                       <div class="layui-input-block" style="float: left;width: 10px;margin-left: -10px; display: none;" id="superviseMeasure01Div">
                                           <input type="checkbox" name="superviseMeasureArr[]" value="01"disabled="disabled" id="superviseMeasure01"lay-skin="primary" title="日常检查" lay-filter="superviseMeasure">
                                       </div>
                                       <div class="layui-input-block " style="float: left;width: 10px;display: none;" id="superviseMeasure02Div">
                                           <input type="checkbox" name="superviseMeasureArr[]" value="02"disabled="disabled" id="superviseMeasure02"lay-skin="primary" title="专项检查" lay-filter="superviseMeasure">
                                       </div>
                                   <div class="layui-input-block " style="float: left;width: 10px;display: none;" id="superviseMeasure99Div">
                                       <input type="checkbox" name="superviseMeasureArr[]" value="99" disabled="disabled" id="superviseMeasure99"lay-skin="primary" title="其他" lay-filter="superviseMeasure">
                                   </div>
                                       <div class="layui-input-block" style="float: left;width: 10px;margin-left: -10px; " id="superviseMeasure03Div">
                                           <input type="checkbox" name="superviseMeasureArr[]" value="03" disabled="disabled"id="superviseMeasure03"lay-skin="primary" title="无" lay-filter="superviseMeasure">
                                       </div>
                                  </div>

动态赋值让复选框选中

for(var i =0 ;i<superviseMeasureArry.length;i++){
    body.find("#superviseMeasure"+superviseMeasureArry[i]).attr(‘checked‘, true);
}

 2.取值

//html代码

<form class="layui-form">
    <div class="layui-form-item">
        <label class="layui-form-label">复选框</label>
        <div class="layui-input-block">
            <input type="checkbox" name="like" value="1" title="写作">
            <input type="checkbox" name="like" value="2" title="阅读" >
            <input type="checkbox" name="like" value="3" title="发呆">
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
            <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
    </div>
</form>

 



 

//JS代码

<script>
    layui.use(‘form‘, function(){
        var form = layui.form;
        form.on(‘submit(formDemo)‘, function(data){

            //获取checkbox[name=‘like‘]的值
            var arr = new Array();
            $("input:checkbox[name=‘like‘]:checked").each(function(i){
                arr[i] = $(this).val();
            });
            data.field.like = arr.join(",");//将数组合并成字符串

            $.post("admin.php", {data:data.field}, function (res) {
                if (res.code == 1) {
                    layer.msg(res.msg, {time: 1800, icon: 1}, function () {
                        location.href = res.url;
                    });
                } else {
                    layer.msg(res.msg, {time: 1800, icon: 2});
                }
            }, ‘json‘);

            return false;
        });
    });
</script>

 

 

 

3.jq 的基本使用

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

 

JQuery对CheckBox的一些相关操作

一、通过选择器选取CheckBox:

  1.给CheckBox设置一个id属性,通过id选择器选取:

 

1
<input type="checkbox" name="myBox" id="chkOne" value="1" checked="checked" />

    JQuery:

1
$("#chkOne").click(function(){});

   2.给CheckBox设置一个class属性,通过类选择器选取:

1
<input type="checkbox" name="myBox" class="chkTwo" value="1" checked="checked" />

    JQuery:

1
2
$(".chkTwo").click(function(){});

  3.通过标签选择器和属性选择器来选取:

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

   JQuery:

1
2
$("input[name=‘someBox‘]").click(function(){});

二、对CheckBox的操作:
   以这段checkBox代码为例:

1
2
3
4
<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()方法:

1
$("input[name=‘box‘]").each(function(){});

   2.设置checkbox被选中用attr();方法:

1
2
$("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的值:

1
2
3
4
$("input[name=‘box‘][checked]").each(function(){
if (true == $(this).attr("checked")) {
   alert( $(this).attr(‘value‘) );
}

     或者:

1
2
3
4
$("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的值:

1
2
3
4
5
$("input[name=‘box‘]").each(function(){
   if ($(this).attr(‘checked‘) ==false) {
      alert($(this).val());
    }
 });

   5.设置checkbox的value属性的值:

1
$(this).attr("value",值);

三、 一般都是创建一个js数组来存储遍历checkbox得到的值,创建js数组的方法:

     1.  var array= new Array();

     2. 往数组添加数据:

        array.push($(this).val());

     3.数组以“,”分隔输出:

         alert(array.join(‘,‘));

以上是关于layui 复选框 使用 及jq基本方法的主要内容,如果未能解决你的问题,请参考以下文章

layui流加载及传参

layui如何自动触发change事件,可以用jquery的change吗?

layui中table表格的基本操作

jq+layui 总结

jQuery学习——使用JQ完成复选框的全选和全不选

layui的form.val无法动态渲染赋值表单问题解决方法