第1部分:在我的网格中,我有一些可编辑的列,我想在其中进行内联编辑。但是,当我选择任何特定单元格并且该单元格(editable: true
)上的内联编辑可用时,它应该选择要编辑的文本。
例如,如果这是默认网格: 然后在选择Quantity中的任何单元格时,结果应该是这样的:
当我们点击一个单元格来编辑jqGrid中的那一行时,当前的实现不会像这样突出显示所选的文本。有没有办法实现这个目标?
第2部分)根据Oleg的建议迁移到this question
网格代码: jsFiddle
注意:我的真实应用程序数据类型为JSON
答案 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
允许实现自定义回调onLeftKey
,onRightKey
。你想更好地使用哪一个对我来说并不完全清楚。