zoukankan      html  css  js  c++  java
  • jQuery 实现checkbox的选择

    直接上代码

    html部分

     <div class="label_div">
       <div class="checkbox">
          <
    label for="row[data][options][]-10"><input id="row[data][options][]-10" name="row[data][options][]" type="checkbox" value="10"> 投保人证件号</label>
       </
    div>   <div class="checkbox">
          <
    label for="row[data][options][]-11"><input id="row[data][options][]-11" name="row[data][options][]" type="checkbox" value="11"> 投保人生日</label>
       </
    div>   <div class="checkbox">
          <
    label for="row[data][options][]-12"><input id="row[data][options][]-12" name="row[data][options][]" type="checkbox" value="12"> 投保人性别</label>
         
    <label for="row[data][options][]-13"><input id="row[data][options][]-13" name="row[data][options][]" type="checkbox" value="13"></label>
    <label for="row[data][options][]-14"><input id="row[data][options][]-14" name="row[data][options][]" type="checkbox" value="14"></label>
    <label for="row[data][options][]-15"><input id="row[data][options][]-15" name="row[data][options][]" type="checkbox" value="15"> 未知</label>
    </
    div>
    </div>

    实现效果为:

    1、点击第一个选项卡,后面所有的都选中或者都取消

    2、点击后面的子项,如果存在子项,则第一个始终是选中状态, 否则第一个就是未选中状态

    js代码

     1     $(".label_div  input[type='checkbox']").click(function () {  // 为label_div下的所有checkbox都添加点击事件
     2         var obj = $(this).parent().parent();
     3         if (!$(this).parent().index()) { //获取checkbox下同级label的索引位置
     4             if (this.checked) {
     5                 $(obj).find('label').find('input').prop('checked',true);
     6             } else {
     7                 $(obj).find('label').find('input').prop('checked',false);
     8             }
     9         }
    10         if (this.checked) {
    11             $(obj.find('label')[0]).find('input').prop('checked',true);
    12         } else {
    13             if ($(obj.find('label')).find('input:checked:checked').length == 1) { //判断某.checkbox的div下的所有checkbox选中的长度
    14                 $(obj.find('label')[0]).find('input').prop('checked',false);
    15             }
    16         }
    17     })

    里面牵扯到获取父级元素,以及同级中的索引位置,js好久没写了,先记录一下,大佬请忽略!

  • 相关阅读:
    无法嵌入互操作类型“ADOX.CatalogClass”。请改用适用的接口。
    编码:隐匿在计算机软硬件背后的语言(3)--二进制加法器
    编码:隐匿在计算机软硬件背后的语言(2)--二进制
    C#中Mutex的用法
    C#中创建二维数组,使用[][]和[,]的区别
    git同时存在两个账号(在同一台电脑上)——三步完成(已修正)
    C++之标准库vector
    C++之标准库map
    sublime和vscode 格式化Json ——两步走
    二十八、linux下权限管理chmod
  • 原文地址:https://www.cnblogs.com/cyfblogs/p/12845203.html
Copyright © 2011-2022 走看看