溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

layui怎么做復(fù)選框

發(fā)布時間:2020-06-23 19:43:57 來源:億速云 閱讀:282 作者:Leah 欄目:web開發(fā)

layui怎么做復(fù)選框?相信大家還沒學(xué)會這個技能,這篇文章運用了實例代碼展示,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

效果圖

layui怎么做復(fù)選框

layui復(fù)選框,一個主的復(fù)選框控制多個從復(fù)選框,主復(fù)選框和從復(fù)選框的顏色不一樣

layui怎么做復(fù)選框

layui復(fù)選框的樣式,都是在選然后才會有的,所以直接通過css設(shè)置就實現(xiàn)不了了。只可以通過js動態(tài)設(shè)置

html代碼使用了jfinal的模板

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

layui代碼

$(function(){
 
layui.use('form', function(){
    var form = layui.form;
    form.on("checkbox(allCheck)", function(data){
        console.log(data);
        console.log(data.elem.checked);
        if (data.elem.checked) {
            //動態(tài)設(shè)置全選按鈕顏色,不可以這里設(shè)置,這里設(shè)置后,前端選然后不會有效果的,
            //猜測原因是,form.render("checkbox"); 導(dǎo)致的,設(shè)置后layui又渲染了,把我自己設(shè)置的顏色覆蓋了。所以設(shè)置需要在渲染后再設(shè)置,就等于是用我的css覆蓋了layui的css
            $(".campus").each(function(){
                $(this).prop('checked', true);
            });
        } else {
            $(".campus").each(function(){
                $(this).prop('checked',  false);
            });
        }
        form.render("checkbox");
       //渲染后設(shè)置我的顏色
        allCheckbox();
    });
 
    //查看是否被全選了,全選了,全選按鈕編輯的時候就是被選中中狀態(tài)
    function initselect(){
        let allSelect = true;
        $(".campus").each(function(index, elem){
            //每個checkbox添加點擊事件,如果點擊了,使得所有的按鈕中出現(xiàn)了不被選中的,那么全選按鈕就不被選中
            if($(this).prop('checked') == false){
                allSelect = false;<br>               
            }
        });
        console.log("是否全選",allSelect)
        $("#qx").prop('checked',allSelect);
        form.render("checkbox");
        //記得把設(shè)置事件放到渲染事件后
        allCheckbox();
    }
    initselect();
 
    //校區(qū)點擊事件,如果有校區(qū)沒有被選中,那么全選按鈕就不能夠顯示選中狀態(tài)
    form.on("checkbox(campus)", function(data){
        let checked = data.elem.checked;
        initselect();
    });
 
});
 
    //全選按鈕和其他按鈕的顏色不一樣
    function allCheckbox(){
        qx1=$('#qx').next('div').children('span');
        if($('#qx').prop('checked')){
            //被選中就設(shè)置顏色
            qx1.css({
                'background-color':'#e4393c'
            })
        }
    }
    //初始化設(shè)置全選按鈕的顏色,
    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>

到此為止, 關(guān)于layui復(fù)選框有了一個基礎(chǔ)的認識, 但是對于具體的使用方法還是需要多加鞏固和練習(xí),如果想了解更多相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI