//监听单元格编辑 table.on('edit(postTable)', function (obj) { // 单元格编辑之前的值 var oldText = $(this).prev().text(); if (obj.data.IsPost == 1) { //重新赋值 $(this).val(oldText); layer.msg('已邮寄信息不可修改', { icon: 5, time: 2000 }); return; } var value = obj.value //得到修改后的值 , data = obj.data //得到所在行所有键值 , field = obj.field; //得到字段 })
通过键盘控制编辑位置
参考自https://fly.layui.com/jie/49384/page/2/#item-1562202489305
/* *编辑数据表格,键盘快捷键方法。 *可跳过无编辑属性的列 *tab 右边一个单元格 *shift + tab 左边一个单元格 *enter 下一行的单元格 *shift + enter 上一行的单元格 */ $(document).on('keydown keyup', '.layui-input', function (event) { var td = $(this).parent('td'), index = td.index(), tr = td.parent('tr'), isShift = $(document).data('shift'), isKeydown = (event.type == "keydown"); switch (event.key) { case "Shift": $(document).data('shift', isKeydown); break; case "Tab": event.preventDefault(); isKeydown && td[isShift ? 'prevAll' : 'nextAll']('[data-edit="text"]:first').click(); break; case "Enter": isKeydown && tr[isShift ? 'prev' : 'next']().children('td').eq(index).click(); break; } })