默认情况下,我可以在jqgrid的编辑模式下将光标启动到特定列吗?

在jqgrid上编辑行时,光标会自动进入最左侧的可编辑字段。 有没有办法让它默认为特定的列,或者更好的是,我点击的任何列?

实现取决于jqGrid的版本以及您使用的jqGrid的分支。

如果你使用最新版本的免费jqGrid然后代码

 onSelectRow: function (rowid, status, e) { var $self = $(this), savedRow = $self.jqGrid("getGridParam", "savedRow"); if (savedRow.length > 0 && savedRow[0].id !== rowid) { $self.jqGrid("restoreRow", savedRow[0].id); } $self.jqGrid("editRow", rowid, { focusField: e.target }); }, inlineEditing: { keys: true, defaultFocusField: "amount", focusField: "amount" } 

看演示 。 上面的代码使用e.target作为jqGrid方法editRowfocusField属性的值。 结果,焦点将设置在单击的单元格上。 如果用户单击不可编辑的单元格,例如“rownumber”列,则将使用选项defaultFocusField ,焦点将设置在"amount"列上。 我提醒说,免费的jqGrid使用inlineEditing选项来指定内联编辑的默认参数(有关更多详细信息,请参阅Wiki文章 )。

从版本4.7开始支持editRow选项focusField ,但旧版本仅支持布尔值和数值。