使用jquery动态改变checkbox选中和样式

做权限选中的时候遇到:

<div class="layui-form-item">
    <label class="layui-form-label">权限</label>
    <div class="layui-input-block">
        {foreach $menus as $k=>$v}
            <div>
                <input type="checkbox" lay-filter="checkboxs" class="checkboxs" name="roleids[]" lay-skin="primary" title="{$v['name']}" checked="" value="{$v['id']}">

                <div class="son">
                    {foreach $v['son'] as $kk=>$vv}
                        <input type="checkbox" lay-filter="checkbox" class="checkbox" name="roleids[]" lay-skin="primary" title="{$vv['name']}" checked="" value="{$vv['id']}">
                    {/foreach}
                </div>
            </div>
            <div style="height: 15px"></div>
        {/foreach}
    </div>
</div>

form.on('checkbox(checkboxs)', function(data){
    checked=data.elem.checked; //是否被选中,true或者false
    $(this).next().next().find('.checkbox').each(function (){
        $(this).prop('checked',checked)
        form.render();
    })
});

form.on('checkbox(checkbox)', function(data){
    checked=data.elem.checked; //是否被选中,true或者fals
    //判断兄弟check是否还有选中个数
    var checkednum=0
    $(this).parent('.son').find('.checkbox').each(function (){
        if($(this).prop('checked')){
            checkednum++
        }
    })
    if(checkednum>0){
        $(this).parent('.son').prev().prev().prop('checked',true)
    }else{
        $(this).parent('.son').prev().prev().prop('checked',false)
    }​​​​​​​
    form.render();
​​​​​​​});

单纯记录分享,不喜勿喷

猜你喜欢

转载自blog.csdn.net/zongxingfengyun/article/details/123822264
今日推荐