HTML代码:
<input type="checkbox" lay-skin="switch" {$vo.state? 'checked=""': ''} lay-filter="switch" data-url="{:url('staychoice',['id'=>$vo['id']])}" lay-text="显示|显示">
监听代码:
<script>
layui.use('element', function(){
var element = layui.element;
});
layui.use('form',function(){
var form = layui.form;
var $ = layui.jquery;
form.on('switch(switch)', function(data) {
var url = $(this).data('url');
var state = data.elem.checked;
if(state) {
state = 1;
} else {
state = 0;
}
$.post(url, {state:state}, function(res) {
if(res.code == 1) {
layer.msg(res.msg);
} else {
layer.msg(res.msg);
}
});
return false;
});
})
</script>
请求逻辑代码:
public function StayChoice()
{
if (Request()->isPost()) {
$data['id'] = $this->request->param('id');
$data['state'] = $this->request->param('state');
$result = Db::name('test')->update($data);
if ($data['state']) {
$msg = '前台显示';
}else{
$msg = '取消显示';
}
$res['code'] = 1;
$res['msg'] = $msg.'成功!';
if ($result === false) {
$res['code'] = 0;
$res['msg'] = $msg.'失败';
}
return json($res);
}else{
$res['code'] = 0;
$res['msg'] = '很意外,没有收到param值';
return json($res);
}
}