問題
使用EasyUI的Datagrid的Editor進行行編輯,單擊進入編輯狀態,Enter回車結束編輯。
解決方法
實現該效果的關鍵就是給正在編輯的單元格綁定回車事件。
- 通過Editor對象獲取正在編輯的單元格對象來綁定
具體代碼:
var editors = $('#dataarea').datagrid('getEditors', rowIndex);
for (var i = 0, len = editors.length; i < len; i++) {
var editor = editors[i];
$(editor.target).bind('keyup', function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
$('#eDatagrid').datagrid('endEdit', editIndex);
//do something
}
});
}
這種方法之前用v1.3.6的時候是可以的,但這次用的是v1.4.2,試過幾次,就是沒反應。既然不能通過EasyUI里面的對象綁定,我們可以自己來,只要獲取到正在編輯的單元格就行。
- 通過EasyUI渲染生成的class獲取
具體代碼:
$('.datagrid-editable .textbox,.datagrid-editable .datagrid-editable-input,.datagrid-editable .textbox-text').bind('keydown', function(e){
var code = e.keyCode || e.which;
if(code == 13){
//保存更改 第一次編輯可能不會改變值
$('#eDatagrid').datagrid('acceptChanges');
$('#eDatagrid').datagrid('endEdit', editIndex);
//do something
}
});
附效果:

作者:Buff
出處:https://buff.cnblogs.com
本文以學習、研究和分享為主,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
