//監聽單元格編輯 table.on('edit(postTable)', function (obj) { // 單元格編輯之前的值 var oldText = $(this).prev().text(); if (obj.data.IsPost == 1) { //重新賦值 $(this).val(oldText);
obj.data.Name = 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; } })