layui form.on('switch(active)', function(obj){}) 监听事件中获取行数据
时间: 2024-03-11 14:48:22 浏览: 71
在监听事件中获取行数据,可以通过以下方式:
1. 在渲染表格时,给每一行数据添加一个自定义属性,例如 `data-id`,存储该行数据的唯一标识,如下所示:
```javascript
table.render({
elem: '#demo',
url: '/demo/table/user/',
cols: [[
{field:'id', title:'ID', width:80},
{field:'username', title:'用户名', width:120},
{field:'sex', title:'性别', width:80, sort:true},
{field:'city', title:'城市', width:100},
{field:'sign', title:'签名', width:200},
{field:'experience', title:'积分', width:80, sort:true},
{field:'score', title:'评分', width:80, sort:true},
{field:'classify', title:'职业', width:100},
{field:'wealth', title:'财富', width:135, sort:true},
{fixed:'right', title:'操作', toolbar:'#barDemo', width:150}
]],
page: true,
done: function(res, curr, count) {
var data = res.data;
for (var i = 0; i < data.length; i++) {
var item = data[i];
$('tr[data-index="'+ i +'"]').attr('data-id', item.id);
}
}
});
```
2. 在监听事件中,通过 `$(this)` 获取到当前触发事件的元素,再通过 `.parents('tr')` 方法获取到该元素所在的行,最后通过 `.attr('data-id')` 方法获取该行数据的唯一标识,如下所示:
```javascript
form.on('switch(active)', function(obj){
var id = $(this).parents('tr').attr('data-id');
// 根据 id 获取该行数据,并进行后续操作
});
```
阅读全文