我有一個jqGrid,我正在添加一個新行,用戶可以編輯。他們有一個按鈕來保存新的行。我需要在發送之前先到達ajax,以便在通話中提供一些安全性。這與網格的其他幾個場景一起工作,但不是這個。不知道發生了什麼事。jqgrid addRow saveRow beforeSend
這裏是我正在加入新行:
jQuery("#myTable").jqGrid('addRow',{
rowID : "new_row",
initdata : {},
position :"first",
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}});
,這裏是我的代碼由我保存按鈕執行:
jQuery("#myTable").jqGrid('saveRow',"new_row", {
"url": "{{path('recording_create')}}",
"mtype": "POST",
"succesfunc": function(response) {
return true;
}
});
我想這一點,但是,它沒有被解僱。我認爲這將被稱爲當保存一個行時:
$.extend($.jgrid.defaults,
{
ajaxRowOptions: {
beforeSend: function() {
alert('Before Row Send'); // not called
}
},
}
);
我也試過這個,但是,我認爲這只是調用窗體編輯?
$.extend($.jgrid.edit, {
ajaxEditOptions: {
beforeSend: function (jqXHR, settings) {
alert('Before Row Send'); // not called
}}});
有什麼想法?
感謝, 斯科特
@ScottV:我測試和代碼'$ .extend($ jgrid.defaults,{ajaxRowOptions:{beforeSend:函數(){警報( '行之前發送');} }});'做功。內聯編輯代碼的[The line](https://github.com/tonytomov/jqGrid/blob/v4.4.0/js/grid.inlinedit.js#L324)使用'$ tpajaxRowOptions',它是'ajaxRowOptions'參數jqGrid的。可以通過$ .extend($。jgrid.defaults,{ajaxRowOptions:{...}})來設置它;' – Oleg 2012-08-16 19:55:38
好的。如果我將其設置爲網格參數,如ajaxRowOptions:{contentType:「application/json」}, ajaxRowOptions:{ contentType:「application/json」, beforeSend:function(){ debugger; 警報('發送行之前'); } },它的工作原理。但是,如果我嘗試按照你的說法進行延伸,它就不起作用。無論哪種方式,解決方案是使用ajaxRowOptions – 2012-08-16 21:10:27
@ScottV:在調用'$ .extend($。jgrid.defaults,...);''之前可能創建了網格*?我不明白爲什麼'$ .jgrid.defaults'的設置應該被忽略。 – Oleg 2012-08-16 21:15:00