layui跳转html如何带参数,Layui跳转页面代码(可携带复杂参数)

本文介绍了如何在Layui中实现点击“编辑”按钮后直接或确认后跳转页面,并携带参数。提供了两种方法,一种是直接跳转,另一种是先弹窗确认再跳转。详细解析了Layui的layer.open方法及其success、yes、cancel等回调函数的使用,帮助开发者掌握更多Layui页面跳转方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用了Layui的“数据表格 - 数据操作”示例代码,结果发现点击“编辑”按钮出出来一个弹出消息框,效果如下:

d2402db7c56f18371de00c1deba1a7b8.png

虽然说也可以用“弹出层”做编辑页面,但是,由于我编辑的东西很多,用“弹出层”不太理想。

我就想能不能像URL链接那样,直接点击链接就跳转走了。例如:点击一个”编辑“按钮,就直接跳转到相对应的”编辑页面“。

下面是我给大家的方法,大家可以做一个参考:

注意:Layui跳转页面代码最重要的部份是layer.open那里,请大家不要看错了。

第一种:Layui点击“编辑”按钮后“直接”跳转页面

layui.use('table', function(){

var table = layui.table;

//监听表格复选框选择

table.on('checkbox(demo)', function(obj){

console.log(obj)

});

//监听工具条

table.on('tool(demo)', function(obj){

var data = obj.data;

if(obj.event === 'detail'){

layer.msg('ID:'+ data.id + ' 的查看操作');

} else if(obj.event === 'del'){

layer.confirm('真的删除行么', function(index){

obj.del();

layer.close(index);

});

} else if(obj.event === 'edit'){

//layer.alert('编辑行:
'+ JSON.stringify(data));

layer.open({

content: '开始编辑',

success: function(layero, index){

self.location="<?php echo $HOMEURL.$ADMIN_ADDRESS;?>?type=category&action=edit&id=" + data.id;//跳到指定页面,这里可以自定义修改,携带复杂参数

}

});

}

});

第二种:Layui点击“编辑”按钮后,点击“确定”后才开始跳转页面

layer.open({

content: '确定开始编辑吗?',

btn: ['确定','取消'],

style: 'width:80%',

yes: function(index, layero){

//do something

self.location="<?php echo $HOMEURL.$ADMIN_ADDRESS;?>?type=category&action=edit&id=" + data.id; //跳到指定页面,这里可以自定义修改,携带复杂参数

layer.close(index); //如果设定了yes回调,需进行手工关闭

},

cancel: function(index,layero){ //按右上角“X”按钮

},

});

总结:

以上只是我目前用得比较多的两种方法,其实还有很多种方法,大家具体可以参考layui手册:

https://www.layui.com/doc/modules/layer.html#success

通过这里你可以掌握更多的Layui跳转页面方式,可以实现不同效果的Layui跳转页面代码。我上面两种方法与原理也是参考于layui手册。

例如:

1、success - 层弹出后的成功回调方法

类型:Function,默认:null

当你需要在层创建完毕时即执行一些语句,可以通过该回调。success会携带两个参数,分别是当前层DOM当前层索引。如:

layui.code

layer.open({

content: '测试回调',

success: function(layero, index){

console.log(layero, index);

}

});

2、yes - 确定按钮回调方法

类型:Function,默认:null

该回调携带两个参数,分别为当前层索引、当前层DOM对象。如:

layer.open({

content: '测试回调',

yes: function(index, layero){

//do something

layer.close(index); //如果设定了yes回调,需进行手工关闭

}

});

3、cancel - 右上角关闭按钮触发的回调

类型:Function,默认:null

该回调携带两个参数,分别为:当前层索引参数(index)、当前层的DOM对象(layero),默认会自动触发关闭。如果不想关闭,return false即可,如;

cancel: function(index, layero){

if(confirm('确定要关闭么')){ //只有当点击confirm框的确定时,该层才会关闭

layer.close(index)

}

return false;

}

4、end - 层销毁后触发的回调

类型:Function,默认:null

无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。

5、full/min/restore -分别代表最大化、最小化、还原 后触发的回调

类型:Function,默认:null

携带一个参数,即当前层DOM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值