我使用的jqGrid与下列方式极大的更迭:在jqGrid的敲定编辑
- 将数据从服务器加载JSON
- 用户做内联编辑
当保存按钮点击所有数据序列化使用:
var data = $(“#mygrid”)。getRowData();
var datajson = JSON.stringify(data);
这个问题的问题是,如果用户没有按下回车或从编辑的单元格移开,我将在我的json-data中获取输入元素。有没有什么办法可以结束编辑模式我jqgrid?
我使用的jqGrid与下列方式极大的更迭:在jqGrid的敲定编辑
当保存按钮点击所有数据序列化使用:
var data = $(“#mygrid”)。getRowData();
var datajson = JSON.stringify(data);
这个问题的问题是,如果用户没有按下回车或从编辑的单元格移开,我将在我的json-data中获取输入元素。有没有什么办法可以结束编辑模式我jqgrid?
我已经通过触发“的keydown”解决它元素ENTER事件:
editoptions: {
dataInit: function(elem) {
$(elem).datetimepicker({
dateFormat: "yy-mm-dd",
onClose: function(datetimeText, datepickerInstance) {
$(elem).trigger($.Event("keydown", { keyCode: $.ui.keyCode.ENTER }))
}
});
}
}
我使用远程提交的针对每个小区并为我所用“CONTENTEDITABLE” DIV细胞编辑器(多行文字),我想用ctrl-enter完成单元格编辑。
(基于奥列格的答案,How to close cell-editor?和http://www.trirand.com/jqgridwiki/doku.php?id=wiki:cell_editing)
$(document).ready(function() {
var grid,currentCell;
$(".jqGrid_wrapper").on("keydown","div[contenteditable]",function (e) {
if (e.ctrlKey && e.keyCode == 13)
{
grid.jqGrid("saveCell",currentCell.iRow,currentCell.iCol);
return false;
}
return true;
});
grid=$("#table_list_2");
grid.jqGrid({
url: ...
cellEdit: true,
cellsubmit: 'remote',
cellurl: '..',
beforeEditCell: function(rowid, cellname, value, iRow, iCol) {
currentCell={
rowid:rowid, cellname:cellname, value:value, iRow:iRow, iCol:iCol
}
}
});
});
对不起,不这样做。 saveRow调用保存行的方法,但单元仍处于编辑模式。 – Bebben 2011-01-26 17:44:23