java弹出表格,LayUI使用--单击tabel数据表格操作,单击弹出层,弹出层表单动态获取table单条数据...

1.页面基本元素

表格操作 - layui
用户名: 密码:
角色:
角色名称
备注:
提交

2.渲染table数据表格

3.监听点击事件//监听工具条 table.on('tool(test)', function(obj){ var data = obj.data; //formData = data; if(obj.event === 'del'){ layer.confirm('真的删除行么', function(index){ obj.del(); layer.close(index); }); } else if(obj.event === 'edit'){ layer.open({ //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) type:1, title:"修改用户信息", area: ['70%','70%'], content:$("#popUpdateTest").html() }); setFormValue(data);//动态向表单赋值 } });

4.动态向表单添加数据function setFormValue(data){ popForm.val("formTestFilter", { "userName":data.userName ,"password":data.password ,"roleName":data.roleName ,"userDescription":data.userDescription }); popForm.render(null,'formTestFilter') }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现这个功能,需要结合 layuitable 组件以及右键菜单插件。以下是实现的步骤: 1. 引入 layui 和右键菜单插件的 js 和 css 文件,具体可以在 layui 官网上找到。 2. 在 table 的配置项中加入 `contextmenu: true`,开启右键菜单功能。 3. 给 table 绑定 `contextmenu` 事件,在事件处理函数中阻止默认的右键菜单事件,然后根据点击的行和列获取对应的数据,将菜单 div 显示在指定位置。 4. 给菜单选项绑定点击事件,分别触发修改和作废的处理函数,处理函数中可以通过获取选中行的数据来进行相应的操作。 下面是一个示例代码,仅供参考: ```javascript layui.use(['table', 'layer', 'jquery', 'contextMenu'], function(){ var table = layui.table; var layer = layui.layer; var $ = layui.jquery; var contextMenu = layui.contextMenu; // 定义表格数据 var data = [ {id: 1, name: '张三', age: 20, sex: '男'}, {id: 2, name: '李四', age: 22, sex: '女'}, {id: 3, name: '王五', age: 25, sex: '男'} ]; // 渲染表格 table.render({ elem: '#demo', data: data, cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {field: 'sex', title: '性别'} ]], contextmenu: true // 开启右键菜单 }); // 绑定右键菜单事件 $('#demo .layui-table-body').on('contextmenu', 'tr', function(e){ e.preventDefault(); // 阻止默认的右键菜单事件 var data = table.cache.demo[this.dataset.index]; // 获取当前行的数据 var menuHtml = '<ul class="layui-context-menu">' + '<li data-type="edit">修改</li>' + '<li data-type="delete">作废</li>' + '</ul>'; var $menu = $(menuHtml).appendTo('body'); // 将菜单 div 显示在指定位置 $menu.css({top: e.clientY, left: e.clientX}); // 绑定菜单选项点击事件 $menu.find('li').on('click', function(){ var type = $(this).data('type'); switch(type){ case 'edit': edit(data); break; case 'delete': del(data); break; } $menu.remove(); // 移除菜单 div }); // 点击页面其他位置,隐藏菜单 div $(document).one('click', function(){ $menu.remove(); }); }); // 修改处理函数 function edit(data){ layer.open({ type: 1, title: '修改', content: '这里是修改表单', area: ['500px', '300px'], btn: ['保存', '取消'], yes: function(index, layero){ // 获取表单数据,发送请求进行修改操作 layer.close(index); } }); } // 作废处理函数 function del(data){ layer.confirm('确定要作废吗?', function(index){ // 发送请求进行作废操作 layer.close(index); }); } }); ``` 需要注意的是,这里使用的是 layui 的右键菜单插件,不同的插件可能有不同的使用方法,具体请参考对应插件的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值