创建layui表格,在最后第一行第二列新增一个新增按钮
时间: 2024-04-19 07:04:08 浏览: 108
可以使用以下代码来实现:
```javascript
//获取表格对象
var table = layui.table;
//渲染表格
table.render({
elem: '#demo',
//其他参数
//……
//……
done: function(res, curr, count) {
//在最后一行添加按钮
var lastTr = $(".layui-table-body table tbody tr:last-child");
lastTr.find("td").eq(1).after('<td><button class="layui-btn layui-btn-sm layui-btn-normal addBtn">新增</button></td>');
}
});
//监听新增按钮点击事件
$(document).on("click", ".addBtn", function() {
//执行新增操作
//……
});
```
其中,`#demo` 是表格的容器,`done` 函数在表格渲染完成后会被调用,可以在该函数中添加新增按钮。新增按钮的点击事件可以用 `$(document).on("click", ".addBtn", function() {})` 来监听。
相关问题
创建layui表格,在最后第一行第二列新增一个新增按钮(完整代码,包括javscript和html)
好的,以下是创建 layui 表格,在最后第一行第二列新增一个新增按钮的完整代码:
HTML代码:
```html
<table id="demo" lay-filter="test"></table>
```
JavaScript代码:
```javascript
layui.use('table', function(){
var table = layui.table;
//构造表格
table.render({
elem: '#demo',
height: 315,
url: '/demo/table/user/',
cols: [[
{field:'id', title:'ID', width:80},
{field:'username', title:'用户名', width:120},
{field:'email', title:'邮箱', minWidth:150},
{field:'sex', title:'性别'},
{field:'city', title:'城市', minWidth:100},
{field:'sign', title:'签名', minWidth:100},
{field:'experience', title:'积分', sort: true},
{field:'score', title:'评分', sort: true},
{field:'classify', title:'职业', minWidth:100},
{field:'wealth', title:'财富', sort: true},
{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150} //这里是操作列,我们在这里添加新增按钮
]]
});
//监听工具条
table.on('tool(test)', 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('编辑行:<br>'+ JSON.stringify(data))
}
});
//这里是我们添加的事件,当单击新增按钮时将添加一行数据
$('#demo .layui-table-fixed-l .layui-table-body tbody').on('click', 'tr:last-child td[data-field="wealth"]', function() {
var json = {
id: Math.floor(Math.random()*10000),
username: 'test'+Math.floor(Math.random()*100),
email: 'test'+Math.floor(Math.random()*100)+'@example.com',
sex: '男',
city: '上海',
sign: '',
experience: Math.floor(Math.random()*100),
score: Math.floor(Math.random()*100),
classify: '作家',
wealth: Math.floor(Math.random()*1000)
};
table.append('#demo', [json]);
});
});
```
需要注意的是,layui 表格的操作列是通过 `toolbar` 属性来添加的,我们要在该属性中添加一个新增按钮,可以参考代码中的示例。同时,我们还需要绑定一个单击事件,在该事件中添加一行数据。可以参考示例代码中的事件绑定方式。
layui表格,在最后一行第一个空,创建一个带索引和新增的按钮
好的,针对您的问题,我可以提供以下的layui表格代码:
```html
<table id="demo" lay-filter="test"></table>
<script>
layui.use('table', function(){
var table = layui.table;
//展示已知数据
var dataList = [
{id:1, name:'小明', age:20},
{id:2, name:'小红', age:18},
{id:3, name:'小亮', age:19},
{id:4, name:'小刚', age:22},
{id:5, name:'小丽', age:21},
{id:6, name:'小芳', age:20},
{id:7, name:'小李', age:23},
{id:8, name:'小张', age:25},
{id:9, name:'小王', age:26},
{id:10, name:'小胡', age:28},
{id:11, name:'小赵', age:27},
{id:12, name:'小钱', age:24},
{id:13, name:'小周', age:29},
{id:14, name:'小吴', age:30}
];
table.render({
elem: '#demo',
data: dataList, //这是展示的数据
cols: [
[
{ type: 'numbers', title: '序号' },
{ field: 'name', title: '姓名' },
{ field: 'age', title: '年龄' },
{ fixed: 'right', title: '操作', toolbar: '#barDemo', width:150}
]
],
//生成最后一行的数据
done: function(res, curr, count){
var lastTr = $(".layui-table-body tr:last");
lastTr.find('td').eq(0).html(count + 1); //序号自动增加
var newRow = '<tr data-index="'+ (count + 1) +'" class="">'
+ '<td data-field="">' + (count + 1) + '</td>'
+ '<td data-field="name"> </td>'
+ '<td data-field="age"> </td>'
+ '<td data-field=""> <button class="layui-btn layui-btn-primary layui-btn-xs" lay-event="add">新增</button></td>'
+ '</tr>';
lastTr.after(newRow);
}
});
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
if(obj.event === 'add'){
//do something
layer.alert('新增功能待实现');
}
});
});
</script>
<!-- 定义操作的工具条 -->
<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>
```
这段代码是一个基于layui开发的表格,它可以展示已知数据,并动态生成最后一行,其中包括一个新增按钮。对于最后一行新增的数据,还可以通过监听“行工具事件”实现编辑和删除功能。
注意:为了实现最后一行中序号的自动增加和操作按钮,本代码中使用了jQuery和LayUI的两种库文件。 在代码中需要注意以下几点:
- 这里的dataList是一个JSON数组,包含了要展示的数据。
- elem 指定了要渲染的table元素。
- cols 指定表头、列数据等属性。
- done函数用来完成动态生成最后一行的功能,通过遍历dom元素实现。
- 行工具监听事件,可以实现对新增数据的编辑和删除功能。
希望这个代码对你有帮助!
阅读全文