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為未選中(關閉)