EasyUI:給Datagrid中editor添加回車事件


問題

  使用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
    }
});

  附效果:
enter

  附keycode對照表

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM