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退出each循环的写法
Feb 26 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
Jul 05 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
Aug 25 Javascript
微信小程序 数据封装,参数传值等经验分享
Jan 09 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
Feb 16 Javascript
详解使用React进行组件库开发
Feb 06 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
Jan 23 Javascript
小程序云函数调用API接口的方法
May 17 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
May 11 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
Aug 06 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
Oct 12 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执行速度全攻略(上)
2006/10/09 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
JS 网站性能优化笔记
2011/05/24 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
python实现ping命令小程序
2020/12/28 Python
python中os.remove()用法及注意事项
2021/01/31 Python
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
总经理助理岗位职责
2013/11/08 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
九年级数学教学反思
2016/02/17 职场文书
Jsonp劫持学习
2021/04/01 PHP
css3实现的加载动画效果
2021/04/07 HTML / CSS
如何在python中实现ECDSA你知道吗
2021/11/23 Python
Oracle 触发器trigger使用案例
2022/02/24 Oracle
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫