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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
基于jQuery的为attr添加id title等效果的实现代码
Apr 20 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
用JS动态改变表单form里的action值属性的两种方法
May 25 Javascript
分享一道关于闭包、bind和this的面试题
Feb 20 Javascript
Vue.js render方法使用详解
Apr 05 Javascript
js读取本地文件的实例
Dec 22 Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
Feb 13 Javascript
小程序Request的另类用法详解
Aug 09 Javascript
Vue表单控件数据绑定方法详解
Feb 05 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
linux php mysql数据库备份实现代码
2009/03/10 PHP
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
php 抽象类的简单应用
2011/09/06 PHP
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
JavaScript中的Window窗口对象
2008/01/16 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
javascript中length属性的探索
2011/07/31 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
详解python运行三种方式
2019/05/13 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
Yahoo-PHP面试题4
2012/05/05 面试题
学习十八大精神心得体会
2013/12/31 职场文书
服装行业创业计划书范文
2014/02/05 职场文书
网络信息安全承诺书
2014/03/26 职场文书
科技节口号
2014/06/19 职场文书
离婚财产处理协议书
2014/09/30 职场文书
二十年同学聚会感言
2015/07/30 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle