本文摘自PHP中文网,作者尚,侵删。
一、表单的事件监听
1、lay-filter 事件过滤器
相当于选择器,layui的专属选择器
2、lay-verify 验证属性
属性值可以是 :required必填项, phone手机号,email邮箱,url网址,number数字,date日期,identity身份证。这个相当于正则判断,当然你也可以定义自己的正则,做一些复杂的判断,例如:
1 2 3 | <input type= "text" lay-verify= "required" >
如果是多个判断可以这样:ay-verify= "required|phone" ,手机号必填。
|
如果说我要复杂的判断怎么弄呢? 我们需要先引用form模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | layui.use( 'form' , function ()
{
var form = layui.form;
form.verify({
account:[
'正则'
, '提示语句'
]
,pass:[
'正则'
, '提示语句'
]
});
})
|
当我们,写完验证规则后,只需要把自己定义的名字,如上面的account写到lay-verify="account"里面就好了,那么对这个规则验证就弄完了。
3、lay-submit 绑定触发提交的元素
在input的submit按钮标签里,添加这么一个属性,那layui表单的验证效果才会出来。
4、form.on事件
1 2 3 | form.on( 'event(lay-filter)' , function (){
})
|
其中,event可以是radio,checkbox,submit等元素,其中的lay-filter就是我们加的事件过滤器属性值,比如:
1 | <input type= "submit" lay-filter= "go" lay-submit value= "提交" />
|
对就是这个lay-filter=" "里面的值,好了就只需要这俩个属性,就可以执行我们相应的事件了。
二、表单事件监听
在开始介绍前,我们可以从这张图中,捋一捋思路。
好了好了,我们来解决问题!! 首先建立一个table标签
1 | <table id= "demo" lay-filter= "table" ></table>
|
1、表头工具栏
这个layui的表头工具栏是独立于表格的,是附加上去的,就是把一个盒子放到表格上面,这样通俗易懂了吧!
第一步,所以我们先建立一个盒子,但是这是一个特殊的盒子,我们需要对其隐藏
1 2 3 4 5 | <div class= "layui-hide layui-btn-group" id= "toolbar" >
<button class= "layui-btn " lay-event= "getall" >查看所选数据</button>
<button class= "layui-btn " lay-event= "getnum" >查看所选数量</button>
<button class= "layui-btn layui-btn-danger" lay-event= "delall" >批量删除</button>
</div>
|
思考问题
其中有三个属性需要注意,layui-hide隐藏属性,layui-btn-group组按钮,lay-event事件的名称。
如何去辨别我们的操作呢,就是对layui-event设置的不同的值,来进行不同的行为。
第二步,我们在表格模块里引入我们的头部盒子,然后监听事件,来看我们的代码吧!
1 2 3 4 5 6 7 8 9 | layui.use( 'table' , function (){
var table = layui.table;
table.render({
elem: '#demo'
,url: '数据接口'
,toolbar: '#toolbar'
,cols[[…………]]
});
});
|
到此为止我们的表格渲染就完毕了,开始事件!
1 2 3 4 5 | table.on( 'event(lay-filter)' , function (obj){
括号里的当然就是我们给表格设置的lay-filter属性啦!
obj是这个表格里所有的数据,我们可以console.log(obj)来查看有哪些数据!!
})
|
好了格式差不多介绍完了,开始接着上面的打
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | table.on( 'toolbar(table)' , function (obj){
var checkStatus = table.checkStatus( 'demo' )
switch (obj.event)
{
case 'getall' :
layer.msg(JSON.stringify(checkStatus.data));
break ;
case 'getnum' :
layer.msg(JSON.stringify(checkStatus.data.length));
break ;
case 'delall' :
var a = [];
for ( var i = 0; i < checkStatus.data.length; i++) {
a.push(checkStatus.data[i].ProductID)
}
console.log(checkStatus)
let strid = a.toString();
let num = checkStatus.data.length;
if (num != 0) {
$.ajax({
url: '/JD/ShopDelAll?strid=' + strid
, type: 'Delete'
, success: function (d) {
layer.msg( "删除了" + num + "条数据" );
location.href = '/JD/ShopList' ;
}
})
}
else {
layer.msg( "至少选择一个!" )
}
break ;
break ;
}
});
|
2、表格的行工具栏
阅读剩余部分
相关阅读 >>
layui.layer独立组件详解
layui事件监听介绍
layui的优缺点是什么?
layui属于什么
layui弹出层(open)的属性介绍
如何使用layui实现网页轮播图
layui如何实现表格单元格合并
layui抓取表单数据
layui表格数据变更的一种处理方式
layui-inline的作用是什么
更多相关阅读请进入《layui》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » layui事件监听介绍