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
本文以学习、研究和分享为主,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

转载于:https://www.cnblogs.com/buff/p/easyui_datagrid_editor_enter.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值