我想编辑JQgrid的单元格中的文本,而不编辑编辑时存在的现有文本

时间:2017-12-01 06:49:31

标签: javascript jqgrid

我想仅编辑EX单元格,但不想在其中编辑EX文本... enter image description here

应该修复该单元格中的示例EX,并希望在该单元格中添加EX / E2或EX / E5 ...... 谁能告诉我在这个事件或编辑选项中写的代码  在 val 我正在 EX

afterEditCell: function (id, name, val, iRow, iCol) {
     $("#" + iRow + "_" + name).bind('blur', function (e) {
         $('#grid').saveCell(iRow, iCol);
     });
}


editoptions: {
                    dataEvents: [
                        {
                          type: 'keypress',
                          fn: function (event, rowid) {
                              if ((event.which != 37 && (event.which != 39)) && ((this.selectionStart < readOnlyLength) || ((this.selectionStart == readOnlyLength) && (event.which == 8))))
                              {
                                    return false;
                                }

                                $(this).val($(this).val().replace(/[^0-9\.]/g, ''));
                                if ((e.which != 46 || $(this).val().indexOf('.') != -1) && (e.which < 48 || event.which > 57)) {
                                    e.preventDefault();
                                }
                            }
                        }]
                }

1 个答案:

答案 0 :(得分:0)

如果您使用Guriddo jqGrid JS,您可以使用自定义元素定义,并在custom_element和custom_value的帮助下执行您想要的操作。您可以read here(参见自定义元素类型)。

Bellow是你婚礼场的代码

colModel :[
...
   { name:'wed1',
    edittype: 'custom',
    editoptions : {
        custom_element : function (value, options) {
            var val = value.split("/"), rval;
            var el = "<label for='note'>"+val[0]+"/</label>";
                if(val[1] !== undefined) {
                    val.shift(); 
                    rval = val.join(",");
                } else {
                    rval = '';
                }
            el += "<input type='text' value='"+rval+"'/>";
            return $(el);
        },
        custom_value : function (elem, operation, value) {
            if(operation === 'get') {
                return $(elem[0]).text() + $(elem[1]).val();
            } else if(operation === 'set') {
                $('input',elem).val(value);
            }
        }
    }
} 

这只是想法如何做到这一点。在实际示例中,您将需要分析输入字符串是否包含,或者/,但在任何情况下,您都可以使用另一种方法来分隔单元格的原始值