インライン編集が可能なグリッドがあります。これを処理する onselect は次のとおりです。
onSelectRow: function(id)
{
$('tr[id="'+id+'"]').change(function () {
saveparameters = {
"successfunc" : function(response) {
alert(response)
},
"url" : null,
"extraparam" : {},
"aftersavefunc" : null,
"errorfunc": null,
"afterrestorefunc" : null,
"restoreAfterError" : true,
"mtype" : "POST"
}
$('#breakdownGrid').jqGrid('saveRow', id, saveparameters);
});
if(id && id!==lastsel)
{
editparameters = {
"keys" : false,
"oneditfunc" : null,
"successfunc" : null,
"url" : null,
"extraparam" : {},
"aftersavefunc" : null,
"errorfunc": null,
"afterrestorefunc" : null,
"restoreAfterError" : true,
"mtype" : "POST"
}
$('#breakdownGrid').jqGrid('restoreRow',lastsel);
$('#breakdownGrid').jqGrid('editRow',id, editparameters); lastsel=id;
}
}
});
tr で変更イベントが発生し、saveRow が実行されることがわかります。これは、successfunc を使用せずに、または successfunc で true を返すだけで問題なく動作します。サーバーからの応答を successfunc で使用する方法を見つけようとしています。editurl ページで追加のチェックを行う必要があります。そのページから何を返送する必要があるのか わかりません。そのページですべての作業を行い、true または false を返すことはできますが、機能していません。現在アラートが表示されており、[object object] と表示されています。
また、JSON を返送して解析しようとしましたが、動作させることができません。
これに関するヘルプは素晴らしいでしょう。
ありがとう!