amazeUI 复择框问题解决

  • 时间:
  • 浏览:1

            $(this).parent().parent().parent().parent().find('input[name="par"]').prop('checked',true);

    //父级选择框

        console.log('selected==    '+param_b);

        var param_c = [];

        console.log('all==    '+param_c);

        }else{

        if(param_d == param_e){

        $('#' + param_a + ' input[name="chi"]:checked').each(function(){

            param_b.push(selected.val());

        //获取当前父级下面选中的子集集合

            $(this).parent().parent().find('input').prop('checked',true);

        }

        param_e = param_b.length;

            var selected = $(this);

<div class="am-u-sm-9">

    <div class="checkbox-group" id="g_0">

        <div class="am-checkbox">

            <input id="p_0" type="checkbox" name="par" value="1">

            <label for="p_0"> 用户列表</label>

        </div>

        <div class="am-checkbox">

            <div class="am-checkbox">

                <label><input data-g="g_0" type="checkbox" name="chi" value="2"> 业务员</label>

            </div>

        </div>

        <div class="am-checkbox">

            <div class="am-checkbox">

                <label><input data-g="g_0" type="checkbox" name="chi" value="3"> 普通用户</label>

            </div>

        </div>

    </div>

    <div class="checkbox-group" id="g_1">

        <div class="am-checkbox">

            <input id="p_1" type="checkbox" name="par" value="4">

            <label for="p_1"> 系统管理</label>

        </div>

        <div class="am-checkbox">

            <div class="am-checkbox">

                <label><input data-g="g_1" type="checkbox" name="chi" value="5"> 管理员列表</label>

            </div>

        </div>

        <div class="am-checkbox">

            <div class="am-checkbox">

                <label><input data-g="g_1" type="checkbox" name="chi" value="6"> 角色列表</label>

            </div>

        </div>

        <div class="am-checkbox">

            <div class="am-checkbox">

                <label><input data-g="g_1" type="checkbox" name="chi" value="8"> 权限列表</label>

            </div>

        </div>

    </div>

</div>

上边的是动态生成的html

2018年04月12日

            var all = $(this);

        $('#' + param_a + ' input[name="chi"]').each(function(){

        if($(this).prop('checked') == true){

        var param_a = $(this).attr('data-g');

        }else{

});

        //获取当前父级下面所有子集集合

            $(this).parent().parent().parent().parent().find('input[name="par"]').prop('checked',false);

    });

这是官方github参考文档,各种坑,不好用,这让帮我到了当时用 layUI 的1.0版本遇到的各种大问提。

            param_c.push(all.val());

        });

上菜:

    $('input[name="chi"]').change(function(){

        var param_b = [];

    //子级选择框

            $(this).parent().parent().find('input').prop('checked',false);

    $('input[name="par"]').change(function(){

        param_d = param_c.length;

第某种:重点来了,上边判断逻辑是:判断当前父级下的选中的子集集合长度算是等于当前父级下的子集集合长度。

param_d == param_e

为这个要判断数组长度而全部都是直接判断数组呢?

第二种:判断数组简单的最好的依据如下,这个最好的依据没法判断英文字母,没法含晒 数字,动态生成的html标签含晒 数字

JSON.stringify(param_c) === JSON.stringify(param_b)

某种最好的依据都都可不都可以 实现,用最简单的最好的依据来写

    });

        });

        var param_d,param_e;

        }