javascript - 在 jqgrid 的编辑模式下,我可以让光标默认从特定列开始吗?

标签 javascript jquery 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" }

参见the demo 。上面的代码使用e.target作为 focusField 的值jqGrid方法的属性editRow 。结果,焦点将设置在单击的单元格上。如果用户单击不可编辑的单元格(例如“行号”列),则选项 defaultFocusField将被使用并且焦点将设置在列 "amount" 上。我提醒一下,免费的jqGrid使用inlineEditing选项来指定内联编辑的默认参数(有关更多详细信息,请参阅 the wiki article)。

选项focusFieldeditRow从 4.7 版本开始支持,但旧版本仅支持 bool 值和数字值。

关于javascript - 在 jqgrid 的编辑模式下,我可以让光标默认从特定列开始吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134809/

相关文章:

javascript - 我对 AngularJS 做错了什么?

javascript - Typescript Sprite 动画

jquery - 按数据属性搜索,并替换

jqgrid - FilterToolBar 未返回所有匹配项

javascript - jqGrid 4.0 bindKeys 方法使用上下箭头键移动整个网格

jquery - jQuery Datatable 和 jQGrid 的性能比较?

javascript - Backbone 的 trigger() 是同步的还是异步的?

JavaScript : How to not confuse regex with BB code

javascript - 关闭后退按钮上的弹出窗口

javascript - 从 getElementsByClassName() 函数数组中获取 'this' 元素