layui自定义js模块(实例)
来源:互联网 发布:怎么购买捷易通软件 编辑:程序博客网 时间:2024/05/09 14:17
注意:layui自定义模块,整个过程就两步,步骤虽少,但还是要多注意的细节问题,不然在定义模块上花费太多精力就不值得了。
第一步:定义模块
tablechecked.js
layui.define(['layer'], function(exports) { "use strict"; var $ = layui.jquery, layer = layui.layer; var table = { /** * 带有选择框的表格绑定多选事件 * @param tblId */ tableBindCheckClick: function (tblId) { var tblObj = $("#" + tblId); tblObj.on('click', 'thead input[type="checkbox"]', function () { var obj = $("#" + tblId + " tbody input[type='checkbox']:checkbox"); if (this.checked) { obj.prop("checked", true); } else { obj.prop("checked", false); } }); }, /** * 获取带有选择框的表格选中的记录Ids * @param tblId * @returns {string} */ getTableCheckedRowIds: function (tblId) { var ids = ''; var tblObj = $("#" + tblId); tblObj.find(" tbody input[type=checkbox]:checked").each(function(){ ids += $(this).val() + ','; }); // 去除最后一位逗号 ids = ids.substr(0, (ids.length-1)); return ids; } }; //expotts("key",value) //key你懂吧? 待会在第二步就要用key值来获取var table这个对象。继而调用对象中函数 exports('tablechecked', table);});
截图:
第二步:在js中使用模块
<script th:src="@{/layui/layui.js}"></script><script type="text/javascript" th:inline="javascript"> //一般直接写在一个js文件中 layui.config({ base:'/selfjs/' }); //这里先use,表示使用 base:'/selfjs/'目录下的tablechecked.js文件 layui.use(['form','element','layer','tablechecked'], function(){ var $ = layui.jquery, //layui.key通过key来获取对象 tools=layui.tablechecked; //顶部新增事件监听 console.log("准备新增"); $('#addBtn').on('click',function(){ top.layer.open({ type:2, area:['450px','380px'], resize:false, title:'商品添加', content:'/sys_stuff/edit' }); }); //更新事件 console.log("准备更新"); $('.smt-update').on('click',function(){ top.layer.open({ type:2, area:['450px','400px'], resize:false, title:'用户编辑', content:'/sys_stuff/edit?id='+$(this).data('id') }); }); //删除事件 console.log("准备删除"); $('#btnDelete').on('click', function(){ var ids = tools.getTableCheckedRowIds("myTable"); if(!ids) return layer.msg('请先选择需要删除的记录。', {time:1500, icon:0}); layer.confirm('确定删除?', {icon: 3, title:'提示'}, function(index){ $.ajax({ type: 'POST', url: /*[[@{/sys_stuff/delete}]]*/'', data: {ids: ids }, dataType: 'json', success: function (result) { if (result.code == 0) { layer.msg('删除成功', {icon: 1,time: 1000}); setTimeout(function(){ parent.refreshIframe(); },800); } else { layer.msg('删除失败!'+result.msg, {time:1000,icon: 2}); } }, error: function(result, type) { layer.msg('删除失败!', { time:1000,icon: 2 }); } }); }); }); });</script>
教程到此结束。
番外:
待注意事项:
- exports(‘tablechecked’, tablechecked); //key你懂吧? 待会在第二步就要用key值来获取var table这个对象。继而调用对象中函数
- layui.use([tablechecked])表示 ,使用这个模块,也就是咱自定义的js文件。
- 通过layui.key通过key来获取对象var tools=layui.tablechecked;
到此,番外也结束了,以上这些,基本上够用了。更多的我暂时不知道,如果你在阅读中遇见任何问题,欢迎你随时给我留言。
阅读全文
0 0
- layui自定义js模块(实例)
- Layui自定义模块基础学习
- layui内置模块(layer弹出层)
- layui流加载实例
- TP5 layui 自定义模板
- layui自定义表单校验
- layui内置模块(element常用元素操作)
- js模块模式实例
- layui-js/css
- layui源码详细分析系列之element模块以及自定义事件机制
- Node.js自定义模块Calculate
- Node.Js http模块(一)-发送http请求实例
- Node.Js events模块(二)-EventEmitter自定义操作事件
- js模块化之自定义模块(页面模块化加载)
- 基于layui的三级联动模块
- layui
- [layui
- layui
- 【Python面授视频】七分钟带你拆解Python职业方向!
- ARP和RARP
- 实现关机,重启
- activiti表结构说明
- Zend Studio 12.5.1(64位)破解汉化版免费下载
- layui自定义js模块(实例)
- 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路
- Fragment的一些其他属性
- spring 事务超时时间不起作用
- 使用uWsgi emperor模式配置多个站点
- 新一代存储技术要来了:超快读写速度、超高密度!
- 机器学习:神经网络、正则化、多分类问题与Python代码实现
- php二维数组取随机数
- 俄罗斯黑客攻击了我的服务器:我变成了一名比特币挖矿工