ホームページ  >  記事  >  ウェブフロントエンド  >  「layui」チェックボックスの使い方の紹介

「layui」チェックボックスの使い方の紹介

尚
転載
2019-11-27 13:09:455083ブラウズ

「layui」チェックボックスの使い方の紹介

layui チェック ボックス:

レンダリング

「layui」チェックボックスの使い方の紹介

layui チェック ボックス、メイン チェック ボックス このボックスは複数の機能を制御しますスレーブ チェック ボックス。マスター チェック ボックスとスレーブ チェック ボックスの色は異なります。

「layui」チェックボックスの使い方の紹介

Laui チェック ボックスのスタイルは、その後にのみ選択されます。 CSS 設定を通じて直接実現することはできません。 jsを通じてのみ動的に設定できます

htmlコードはjfinalテンプレートを使用します

<div class="layui-inline">
              <label class="layui-form-label"><font class="faiqi-font-red-star">*</font>#(i18n.get(&#39;所属校区&#39;))</label>
              <div class="layui-input-block">
                  <input id="qx" lay-filter="allCheck" type="checkbox" value="" name="" title="#(i18n.get(&#39;全选&#39;))" > 
                  #for(campus : campusList)
                      <input type="checkbox" lay-filter="campus" class="campus" value="#(campus.id)" name="campusIds[#(campus.id)]" title="#(campus.campusName)" #(campusIdStr.contains(&#39;,&#39; + campus.id + &#39;,&#39;) ? &#39;checked="checked"&#39;:&#39;&#39;)>
                  #end
              </div>
            </div>

layuiコード

$(function(){
 
layui.use(&#39;form&#39;, function(){
    var form = layui.form;
    form.on("checkbox(allCheck)", function(data){
        console.log(data);
        console.log(data.elem.checked);
        if (data.elem.checked) {
            //动态设置全选按钮颜色,不可以这里设置,这里设置后,前端选然后不会有效果的,
            //猜测原因是,form.render("checkbox"); 导致的,设置后layui又渲染了,把我自己设置的颜色覆盖了。所以设置需要在渲染后再设置,就等于是用我的css覆盖了layui的css
            $(".campus").each(function(){
                $(this).prop(&#39;checked&#39;, true);
            });
        } else {
            $(".campus").each(function(){
                $(this).prop(&#39;checked&#39;,  false);
            });
        }
        form.render("checkbox");
       //渲染后设置我的颜色
        allCheckbox();
    });
 
    //查看是否被全选了,全选了,全选按钮编辑的时候就是被选中中状态
    function initselect(){
        let allSelect = true;
        $(".campus").each(function(index, elem){
            //每个checkbox添加点击事件,如果点击了,使得所有的按钮中出现了不被选中的,那么全选按钮就不被选中
            if($(this).prop(&#39;checked&#39;) == false){
                allSelect = false;<br>               
            }
        });
        console.log("是否全选",allSelect)
        $("#qx").prop(&#39;checked&#39;,allSelect);
        form.render("checkbox");
        //记得把设置事件放到渲染事件后
        allCheckbox();
    }
    initselect();
 
    //校区点击事件,如果有校区没有被选中,那么全选按钮就不能够显示选中状态
    form.on("checkbox(campus)", function(data){
        let checked = data.elem.checked;
        initselect();
    });
 
});
 
    //全选按钮和其他按钮的颜色不一样
    function allCheckbox(){
        qx1=$(&#39;#qx&#39;).next(&#39;div&#39;).children(&#39;span&#39;);
        if($(&#39;#qx&#39;).prop(&#39;checked&#39;)){
            //被选中就设置颜色
            qx1.css({
                &#39;background-color&#39;:&#39;#e4393c&#39;
            })
        }
    }
    //初始化设置全选按钮的颜色,
    allCheckbox();<br><br>})

css

<style>
.layui-form-checkbox span {
        width:154px
    }
.layui-unselect.layui-form-checkbox{
        margin-bottom:5px;
    }
    .layui-form-checkbox span{
        color:#4C5277;
    }
    .layui-form-checked span{
        color:#fff;
    }
    /*.layui-form-checked span{
        background-color:#b31717!important;
    }*/
</style>

Lauiuiの知識については注意してくださいlayui の使用法チュートリアル 列。

以上が「layui」チェックボックスの使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。