单元格编辑直接使用官方提供的edit监听方法就行了,
工作中尝尝会遇到修改某个单元格的值,另一个单元格的值也会变化
此时就需要自己手动去修改单元格的值,使用js,jQuery都可以我是用的是jQuery
代码:
其中clickRowData,是点击此单元格时候获取的当前行数据(修改前数据),你可以不用关心此数据(此数据通过自定义事件获取,如何自定义事件请自己看镜像文档)
我是修改属性为xxx-oneBoxNum列的数据
obj.tr.selector为当前选中行的信息,你可以获取到修改的数据行下标
核心代码:?$('' + obj.tr.selector + ' td[data-field=' + x + '] .layui-table-cell').text(oneBoxNumData);
table.on('edit(demo)', function (obj) { //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
for (const x in obj.data) {
if (x.indexOf('oneBoxNum') > -1) {
//计算 当前数据
var oneBoxNumData = obj.data[x] * 1 - (clickRowData[obj.field] * 1 - obj.value * 1)
$('' + obj.tr.selector + ' td[data-field=' + x + '] .layui-table-cell').text(oneBoxNumData);
var cacheData = layui.table.cache["JxDataTabel"];
var pattern = /[0-9]+/;
let index = pattern.exec(obj.tr.selector);
cacheData[index][x] = oneBoxNumData;
}
}
});
|