Easyui 数据表格datagrid使用insertRow新增行,编辑时,对单元格增加点击事件

     最近增加一个需求,在datagrid中,新增行时,点击编辑某一个单元格时增加点击事件。

    解决过程:

           1.首先想到对datagrid中的columns增加formatter,在返回的input里面增加onclick,由于columns是从后台传过来的,先采用后台拼接然后存入到map中,前台进行赋值,该方案施行后,结果发现在编辑时并没有增加onclick,但是编辑完后若再次点击单元格有点击事件。 因此该方案不适用。

            2.经查阅官方文档,结果发现columns在编辑时是由editor控制,最终采用重写editor类型实现。

 

官方例子为:

 

官方以text作为示例,由于自己页面中,有其他单元格也需使用text类型,但并不需要点击事件,因此我自定义了一个类型inclick,并将需要点击事件的设为该类型。

$.extend($.fn.datagrid.defaults.editors, {
    inclick: {
        init: function (container, options) {
            var input=$('<input type="text" class="datagrid-editable-input" onclick="uploadImage(this)">').appendTo(container);
            return input;
        },
        destroy: function(target){
            $(target).remove();
        },
        getValue: function(target){
            return $(target).val();
        },
        setValue: function(target, value){
            $(target).val(value);
        },
        resize: function(target, width){
            $(target)._outerWidth(width);
        }
    }
});

至此,该需求得到解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值