jqgrid实现 编辑结果保存按方向键到下一行编辑
时间: 2023-12-19 19:06:40 浏览: 159
要实现在编辑结果保存后按方向键自动跳转到下一行进行编辑,您可以使用 jqGrid 的 `afterSaveCell` 事件来监听单元格保存后的动作,并在该事件中处理方向键移动到下一行的逻辑。下面是一个示例代码:
```javascript
$(document).ready(function() {
// 初始化 jqGrid
$("#grid").jqGrid({
// 配置参数...
// ...
afterSaveCell: function(rowid, cellname, value, iRow, iCol) {
var rowCount = $("#grid").jqGrid('getGridParam', 'reccount');
// 检查是否为最后一行
if (iRow < rowCount) {
// 移动到下一行的相同列进行编辑
$("#grid").jqGrid('editCell', iRow + 1, iCol, true);
}
}
});
// 添加键盘事件监听
$(document).keydown(function(e) {
var selectedRowId = $("#grid").jqGrid('getGridParam', 'selrow');
var rowCount = $("#grid").jqGrid('getGridParam', 'reccount');
if (selectedRowId) {
switch (e.keyCode) {
case 38: // 上箭头
if (selectedRowId > 1) {
$("#grid").jqGrid('editCell', selectedRowId - 1, 0, true);
}
break;
case 40: // 下箭头
if (selectedRowId < rowCount) {
$("#grid").jqGrid('editCell', selectedRowId + 1, 0, true);
}
break;
}
}
});
});
```
在上述代码中,我们使用了 `afterSaveCell` 事件来监听单元格保存后的动作。在该事件中,我们检查当前行是否为最后一行,如果不是,则使用 `editCell` 方法将焦点移动到下一行的相同列进行编辑。
同时,我们还添加了键盘事件监听,在按下上箭头和下箭头时,根据当前选中行的位置,使用 `editCell` 方法将焦点移动到上一行或下一行的第一列进行编辑。
请确保将代码中的 `"#grid"` 替换为您实际使用的 jqGrid 表格的选择器。另外,该代码片段假设您已经正确地初始化了 jqGrid,并且表格已经加载了数据。
阅读全文
相关推荐

















