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 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
jquery文字上下滚动的实现方法
Mar 22 Javascript
js实现弹窗插件功能实例代码分享
Dec 12 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
利用js的闭包原理做对象封装及调用方法
Apr 07 Javascript
vue router2.0二级路由的简单使用
Jul 05 Javascript
react-native使用react-navigation进行页面跳转导航的示例
Sep 07 Javascript
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
在Vue中使用Compass的方法
Mar 02 Javascript
angular4 JavaScript内存溢出问题
Mar 06 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 Javascript
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
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
Vue的轮播图组件实现方法
2018/03/03 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
详解Vue之计算属性
2020/06/20 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
Python中下划线的使用方法
2015/03/27 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
详解python中的 is 操作符
2017/12/26 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
Python如何调用外部系统命令
2019/08/07 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
运动会铅球比赛加油稿
2014/09/26 职场文书
课程设计感想范文
2015/08/11 职场文书
2019年教师入党申请书
2019/06/27 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP