LayUI switch 开关监听 获取属性值、更改状态的方法


Posted in Javascript onSeptember 21, 2019

背景

今天在设计页面时,想使用一下 LayUI 的 switch 控件,在需要更改状态的时候进行 ajax请求传输

需要获取其中的自定义属性值,同时根据服务器返回数据进行状态的更改

通过参考文档及网友的经验,在此整理一番

使用方法

LayUI switch 开关监听 获取属性值、更改状态的方法

场景: 后台商品列表页,进行上下架状态的修改

①. html 代码参考

着重注意 我设置的两个属性值 lay-filter,switch_goods_id

<input type="checkbox" class="switch_checked" lay-filter="switchGoodsID" switch_goods_id="{$vo['goods_id']}" lay-skin="switch" {$vo['status_checked']} lay-text="上架|下架">

②. js 核心代码参考

以我的设计思路,需要获取当前需要更改状态的商品ID,然后通过ajax回调数据,判断是否执行 “确定” 按钮后的状态改变即可

layui.use(['form'], function () {
 var form = layui.form;
 form.on('switch(switchGoodsID)',function (data) {
  //开关是否开启,true或者false
  var checked = data.elem.checked;
  //获取所需属性值
  var switch_goods_id = data.elem.attributes['switch_goods_id'].nodeValue;
  console.log(checked);
  console.log(switch_goods_id);
  layer.msg('合理搭配,展示不一样的风格', {
  time: 5000, //5s后自动关闭
  btn: ['确定', '取消']
  ,yes: function(index){
   //TODO 此时进行ajax的服务器访问,如果返回数据正常,则进行后面代码的调用
   data.elem.checked = checked;
   form.render();
   layer.close(index);
   //按钮【按钮一】的回调
  }
  ,btn2: function(index){
   //按钮【按钮二】的回调
   data.elem.checked=!checked;
   form.render();
   layer.close(index);
   //return false; //开启该代码可禁止点击该按钮关闭
  }
  });
 });
 });

简化后的代码如下(不需要弹出选择界面):

layui.use(['form'], function () {
 var form = layui.form;
 form.on('switch(switchGoodsID)',function (data) {
  //开关是否开启,true或者false
  var checked = data.elem.checked;
  //获取所需属性值
  var switch_goods_id = data.elem.attributes['switch_goods_id'].nodeValue;
  console.log(checked);
  console.log(switch_goods_id);
  //TODO 此时进行ajax的服务器访问,如果返回数据正常,则进行后面代码的调用
  var serverStatus = 1;
  if(serverStatus){
  data.elem.checked = checked;
  }else {
  data.elem.checked = !checked;
  }
  form.render();
 });
 });

附录:

注意:

当进行表格数据分页显示等需求时,注意完成代码替换后,进行再次渲染:

form.render(); //更新全部 也可以使用:layui.form.render()
form.render('select'); //刷新select选择框渲染

LayUI switch 开关监听 获取属性值、更改状态的方法

以上这篇LayUI switch 开关监听 获取属性值、更改状态的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery对象和DOM对象使用说明
Jun 25 Javascript
jquery 选项卡效果 新手代码
Jul 08 Javascript
jQuery实现模拟marquee标签效果
Jul 14 Javascript
快速学习AngularJs HTTP响应拦截器
Dec 31 Javascript
js中最容易被忽视的事件问题大总结
May 15 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 Javascript
vue自动路由-单页面项目(非build时构建)
Apr 30 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
js实现点赞效果
Mar 16 Javascript
vue中destroyed方法的使用说明
Jul 21 Javascript
vue 实现图片懒加载功能
Dec 31 Vue.js
Vue登录主页动态背景短视频制作
Sep 21 #Javascript
layui table 获取分页 limit的方法
Sep 20 #Javascript
微信小程序用户拒绝授权的处理方法详解
Sep 20 #Javascript
解决layui动态加载复选框无法选中的问题
Sep 20 #Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
Sep 20 #Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 #Javascript
教你如何用Node实现API的转发(某音乐)
Sep 20 #Javascript
You might like
Prototype使用指南之base.js
2007/01/10 Javascript
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
javaScript封装的各种写法
2017/08/14 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
python动态监控日志内容的示例
2014/02/16 Python
Python迭代用法实例教程
2014/09/08 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Python实现ping指定IP的示例
2018/06/04 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
django框架forms组件用法实例详解
2019/12/10 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
仓管员岗位职责范文
2013/11/08 职场文书
大学生求职推荐信
2013/11/27 职场文书
大学生志愿者感言
2014/01/15 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
面试必备的求职信
2014/05/25 职场文书
迎七一演讲稿
2014/09/12 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
妇产科护理心得体会
2016/01/22 职场文书
800字作文之大雪
2019/12/04 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
Python数据处理的三个实用技巧分享
2022/04/01 Python