jqGrid - 在内联编辑时选择单元格的文本

时间:2015-09-21 17:57:32

标签: javascript jquery jqgrid free-jqgrid

第1部分:在我的网格中,我有一些可编辑的列,我想在其中进行内联编辑。但是,当我选择任何特定单元格并且该单元格(editable: true)上的内联编辑可用时,它应该选择要编辑的文本。

例如,如果这是默认网格: enter image description here 然后在选择Quantity中的任何单元格时,结果应该是这样的: enter image description here

当我们点击一​​个单元格来编辑jqGrid中的那一行时,当前的实现不会像这样突出显示所选的文本。有没有办法实现这个目标?

第2部分)根据Oleg的建议迁移到this question

网格代码: jsFiddle

注意:我的真实应用程序数据类型为JSON

1 个答案:

答案 0 :(得分:3)

我不确定旧版网络浏览器的所有版本,但您可以将onSelectRow的代码修改为以下

onSelectRow: function (id) {
    var $self = $(this);
    if (id && id !== lastsel2) {
        $self.jqGrid('restoreRow', lastsel2);
        $self.jqGrid('editRow', id, {
            keys: true,
            focusField: 'Quantity',
            oneditfunc: function (rowid, options) {
                $control = $("#" + rowid + "_Quantity");
                if ($control.length > 0) {
                    $control[0].select();
                }
            },
            aftersavefunc: reload
        });
        lastsel2 = id;
    }
}

http://jsfiddle.net/OlegKi/HJema/163/。它使用focusField: 'Quantity'选项将焦点设置在'Quantity'列上。它使用select()方法选择<input>字段的文本。

问题的第二部分(关于bindKeys)在我看来是一个单独的问题。方法bindKeys允许实现自定义回调onLeftKeyonRightKey。你想更好地使用哪一个对我来说并不完全清楚。