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获取并操作iframe中元素的方法
Mar 21 Javascript
jquery 利用show和hidden实现级联菜单示例代码
Aug 09 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
使用JavaScript获取地址栏参数的方法
Dec 19 Javascript
jquery显示loading图片直到网页加载完成的方法
Jun 25 Javascript
浅谈JSON.parse()和JSON.stringify()
Jul 14 Javascript
AngularJS实现根据不同条件显示不同控件
Apr 20 Javascript
理解javascript async的用法
Aug 22 Javascript
electron demo项目npm install安装失败的解决方法
Feb 06 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
node 标准输入流和输出流代码实例
Sep 19 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
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
桌面中心(二)数据库写入
2006/10/09 PHP
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
python变量不能以数字打头详解
2016/07/06 Python
python一键升级所有pip package的方法
2017/01/16 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
浅析Python __name__ 是什么
2020/07/07 Python
python super()函数的基本使用
2020/09/10 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
旧时光糖果:Old Time Candy
2018/02/05 全球购物
静态成员和非静态成员的区别
2012/05/12 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
生产车间主任的个人自我鉴定
2013/10/25 职场文书
业务主管岗位职责
2013/11/20 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
创意婚礼策划方案
2014/05/18 职场文书
大学专科自荐信
2014/06/17 职场文书