本文介绍如何在 Layui 框架中实现 Switch 开关组件。通过封装 checkbox,结合 Layui 的 JS 和 CSS 文件,在 HTML 中定义开关元素,并在 JS 中通过 form.on 监听开关状态变化,实现数据提交或 Ajax 操作。
Layui Switch 开关实现与监听方法
效果如下图所示:

该插件本质上是 checkbox 的封装形式,因此使用 Layui 的 JS 和 CSS 文件是必要前提。
HTML 代码配置如下:
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">开关</label>
<div class="layui-input-block">
<input type="checkbox" checked="" name="switch" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">
</div>
</div>
</form>
JavaScript 代码实现如下:
<script>
layui.use(['form'], function(){
var form = layui.form
,layer = layui.layer
//监听指定开关
form.on('switch(switchTest)', function(data){
if(this.checked){
layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {
offset: '6px'
});
layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅 仅是ON|OFF', data.othis)
}else{
layer.msg('开关: 关掉了', {
offset: '6px'
});
}
//do some ajax opeartiopns;
});
});
</script>
完成上述配置后,即可进行测试。该开关可置于 form 表单中随表单一同提交,也可在监听开关状态的方法中单独执行 Ajax 操作。
以上即为 Layui 中 Switch 开关的实现方法,供参考。