解決Layui的switch樣式顯示問題


Layui官方文檔是這么說的:

<input type="checkbox" name="xxx" lay-skin="switch">

<input type="checkbox" name="yyy" lay-skin="switch" lay-text="ON|OFF" checked>

<input type="checkbox" name="zzz" lay-skin="switch" lay-text="開啟|關閉">

<input type="checkbox" name="aaa" lay-skin="switch" disabled>

----------------------------------------------------------------------------------------------------

屬性checked可設定默認開 

屬性disabled開啟禁用 

屬性lay-text可自定義開關兩種狀態的文本 

設置value="1"可自定義值,否則選中時返回的就是默認的on

可是從一個頁面A調到另一個頁面B怎么動態設置頁面B的這個check狀態呢?默認將checked屬性加上后,頁面B加載后樣式總是顯示勾選狀態

 

  <div class="layui-form-item" >
    <label class="layui-form-label">啟用</label>
    <div class="layui-input-block" id="test">
      <input type="checkbox"  name="switch" lay-skin="switch" lay-text="啟用|關閉" id="Isuse" value="" checked>
    </div>
  </div>

這里我在JS里面判斷,如果加載頁面B不需要將樣式顯示為選中狀態,那么我強制將layui-form動態生成的html的class更改成unchecked的樣式,代碼如下:

   if (Isuse == '') {
            $("#Isuse").attr("checked", "checked");
            $("#Isuse").attr("value",'');
        }
        else {
            $("#Isuse").removeAttr("checked");
            var x = document.getElementsByClassName("layui-unselect layui-form-switch layui-form-onswitch");
            x[0].setAttribute("class", "layui-unselect layui-form-switch");
            var d = document.getElementsByTagName('em')[0];
            d.firstChild.nodeValue = '關閉';
        }

默認為啟用狀態,如下:

令附上判斷此switch選擇狀態代碼:

  var isChecked = $("#Isuse").attr("checked") == "checked";
  alert(isChecked.toString());

trur為選中(啟用),false為未選中(關閉)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM