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 相关文章推荐
javascript学习随笔(使用window和frame)的技巧
Mar 08 Javascript
为JavaScript添加重载函数的辅助方法
Jul 04 Javascript
JS模拟面向对象全解(一、类型及传递)
Jul 13 Javascript
javascript中对变量类型的判断方法
Aug 09 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
JavaScript和jQuery制作光棒效果
Feb 24 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
Mar 29 Javascript
Angular 5.x 学习笔记之Router(路由)应用
Apr 08 Javascript
vue cli 3.x 项目部署到 github pages的方法
Apr 17 Javascript
node.js命令行教程图文详解
May 27 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
Jun 24 Javascript
Node.js中的异步生成器与异步迭代详解
Jan 31 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
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
动态加载script文件的两种方法
2013/08/15 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
python类的继承实例详解
2017/03/30 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
优秀英语专业毕业生求职信
2013/11/23 职场文书
六十岁生日答谢词
2014/01/10 职场文书
保健品市场营销方案
2014/03/31 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
诉讼授权委托书
2014/10/15 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
工作时间证明
2015/06/15 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
vue实现锚点定位功能
2021/06/29 Vue.js
python函数的两种嵌套方法使用
2022/04/02 Python