我使用的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