jq 实现全选与反选、单个未选取消全选、全部选取勾上全选

网上那些实在是挺乱的,找不到我想要的(也许是我方法不对),后来对比一下,整理后发布一下自己的写法

wxml

<ul>
  <li><input type="checkbox" name="child"> 拼单</li>
  <li><input type="checkbox" name="child"> 组团</li>
  <li><input type="checkbox" name="child"> 限购</li>
  <li><input type="checkbox" name="all" id="all">全部</li>
</ul>

js

$(document).ready(function(){

    // 全选和反选功能
    $('#all').click(function() {
      var all = $("input[name='all']").is(':checked');
      if(all) {
        $("input[name='child']").prop("checked", true);
      }else {
        $("input[name='child']").prop("checked", false);
      }
    })

    // 循环判断,单个未选中,取消全选,全部选中,勾上全选
    $("input[name=child]").click(function() {
      var showis = true;
      for (var i = 0; i < $("input[name=child]").length; i++) {
          if (!$($("input[name=child]")[i]).is(":checked")) {
              // 一个未选中,跳出循环
              showis = false;
              break;
          }
      }
      $("#all").prop("checked", showis);
    })

})

以上仅作为个人使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。