将一个新增按钮插入到layui表格的最后一行
时间: 2023-06-10 19:04:49 浏览: 228
您可以通过以下代码将一个新增按钮插入到layui表格的最后一行:
```javascript
// 获取表格对象
var table = layui.table;
// 获取表格的数据
var data = table.cache["表格id"];
// 在表格的最后一行插入一个数据
var newdata = {id: data.length + 1, name: "", age: "", address: ""};
data.push(newdata);
// 重新渲染表格
table.reload("表格id", {
data: data
});
// 获取表格的最后一行的元素
var tr = $("#表格id").next(".layui-table-view").find(".layui-table-body tbody tr:last");
// 在最后一行的最后一列插入新增按钮
var td = $("<td></td>");
var div = $("<div class='layui-btn-container'></div>");
var a = $("<a class='layui-btn layui-btn-sm layui-btn-normal'>新增</a>");
div.append(a);
td.append(div);
tr.append(td);
```
请将上述代码中的“表格id”替换为您实际使用的表格的ID。
相关问题
layui表格创建一个新增按钮,并插入到表格的最后一行
您好,关于您的问题,您可以使用layui表格的自定义列来实现新增按钮的功能。首先,在表格渲染之前定义一个列,例如:
```
var addBtn = {field: 'add', title: '操作', toolbar: '#addBtnTpl'};
```
其中,`toolbar`指定了使用的模板,即一个包含新增按钮的HTML代码的script标签。
接着,在layui的table.render函数中,将定义好的列加入列集合中:
```
table.render({
elem: '#test',
url: '/demo/table/user/',
cols: [[ //表头
{field: 'id', title: 'ID', width:80},
{field: 'username', title: '用户名', width:80},
{field: 'email', title: '邮箱', minWidth:150},
addBtn //新增按钮列
]]
});
```
最后,将新增按钮的HTML代码放入一个script标签中,并在其上添加一个id,例如:
```
<script type="text/html" id="addBtnTpl">
<a class="layui-btn layui-btn-xs" lay-event="add">新增</a>
</script>
```
这样,您就可以在表格中的最后一行看到一个名为“新增”的按钮了。当然,您的具体实现可能会与此有所不同。希望能对您有所帮助!
layui表格创建一个新增按钮,并插入到表格的最后一行(完整代码展示)
好的,我会尽力回答你的问题,以下是代码展示:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>新增按钮</title>
<link rel="stylesheet" href="//res.layui.com/layui/dist/css/layui.css">
<script src="//res.layui.com/layui/dist/layui.js"></script>
</head>
<body>
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
layui.use('table', function(){
var table = layui.table;
//渲染table
table.render({
elem: '#demo',
url: '/demo/table/user/',
toolbar: 'default',
title: '用户数据表',
cols: [[
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left'},
{field: 'username', title: '用户名', width: 120},
{field: 'email', title: '邮箱', minWidth: 150},
{field: 'sign', title: '签名', minWidth: 160},
{field: 'sex', title: '性别', width: 80, templet: '#switchTpl', unresize: true},
{field: 'city', title: '城市', width: 100},
{field: 'experience', title: '积分', width: 80, sort: true},
{field: 'score', title: '评分', width: 80, sort: true},
{field: 'classify', title: '职业', width: 80},
{field: 'wealth', title: '财富', width: 135, sort: true},
{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
]],
page: true,
limit: 30,
height: 'full-220'
});
//新增按钮方法
table.on('toolbar(test)', function(obj){
var layEvent = obj.event;
if(layEvent === 'add'){
var data = {
id: '',
username: '',
email: '',
sign: '',
sex: '',
city: '',
experience: '',
score: '',
classify: '',
wealth: ''
};
data.id = Date.now();
data.username = '新用户';
data.email = 'newuser@layui.com';
data.sign = '这个人很懒,什么也没留下';
data.sex = 1;
data.city = '南京';
data.experience = Math.floor(Math.random()*1001);
data.score = Math.floor(Math.random()*101);
data.classify = '程序员';
data.wealth = Math.floor(Math.random()*1000001);
table.reload('demo', {
url: '/demo/table/user/',
where: {data: data},
page: {curr: 1}
});
//插入到表格的最后一行
var tr = $("layui-table-fixed .layui-table tbody tr:last");
var index = tr.attr("data-index");
var colspan = tr.find("td").length;
var tdHtml = `<td colspan=${colspan}>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-0 laytable-cell-checkbox">`;
tdHtml += `<input type="checkbox" name="layTableCheckbox" lay-skin="primary">`;
tdHtml += `</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-1">${data.id}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-2">${data.username}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-3">${data.email}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-4">${data.sign}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-5">`;
tdHtml += `<input type="checkbox" name="sex" value="1" lay-skin="switch" lay-text="男|女" lay-filter="sexDemo" ${(data.sex == 1 ? "checked" : "")}>`;
tdHtml += `</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-6">${data.city}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-7">${data.experience}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-8">${data.score}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-9">${data.classify}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-10">${data.wealth}</div>`;
tdHtml += `<div class="layui-table-cell laytable-cell-1-11">`;
tdHtml += `<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>`;
tdHtml += `<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>`;
tdHtml += `</div>`;
tdHtml += `</td>`;
tr.after(tdHtml);
}
});
});
</script>
</body>
</html>
```
这段代码实现了在`layui`表格中创建一个新增按钮,并将新数据插入到表格的最后一行。在新增事件触发时,我们添加一个新的数据集合,并通过`table.reload()`方法重新渲染表格,然后通过`jQuery`的方法获取表格中的最后一行并在它的后面插入一行新数据。
阅读全文