//layui官网例子
<form class="layui-form" action="" lay-filter="example">
<div class="layui-form-item">
<label class="layui-form-label">复选框</label>
<div class="layui-input-block">
<input type="checkbox" name="like[write]" title="写作">
<input type="checkbox" name="like[read]" title="阅读" checked="">
<input type="checkbox" name="like[game]" title="游戏">
</div>
</div>
<input type="checkbox" name="close" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">
</form>
<script>
//监听多选框 点击触发事件
form.on('switch(switchTest)', function(data){
//switch(switchTest)
//开关的是switch,普通的多选框是checkbox;
//括号内是lay-filter,每一个checbox中都要有,如爱好多选框,写作、阅读、游戏的input标签中都要添加lay-filter=‘aihao’ 然后checkbox(aihao)就是监听的爱好选择
//值:this.checked = 'true' or 'false'
});
//监听表单提交
form.on('submit(demo1)', function(data){
layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
})
//data.field中能看到like[write]:on或off
//但是var obj = data.field;var ifwrite = obj.like[write]获取不到写作的选择情况,查看网上多是根据javascript一步步获取,感觉有点浪费layui自己的提交方式
//后发现把name like[write]改成write就可以获取了。
return false;
});
//表单初始赋值
form.val('example', {
,"like[write]": true //复选框选中状态
,"close": true //开关状态
,"sex": "女"
,"desc": "我爱 layui"
})
</script>
如果一个form中有多个爱好多选,多个write,个人在后面添加了1,2,3,4来做区分,方便后面循环取值。
<input type="checkbox" name="write1" title="写作">
<input type="checkbox" name="write2" title="写作">
<input type="checkbox" name="write3" title="写作">
form.on('switch(switchTest)', function(data){
data.field["write"+i] 便可获取拼接字符串"write"和1,2,3,4对应的值
});