Layui switch无刷新提交

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);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。