2
這是我的jqGrid處理程序。如何在jqGrid中將自定義參數傳遞給ajax請求進行在線編輯
var myEditParams = {
keys: true,
extraparam: {
ajax: function() {
alert("in myEditParams:extraparam");
return "1";
}
}
};
var lastsel;
jQuery("#list2").jqGrid({
data: data,
height: 250,
emptyDataText: "No Records Found",
width: $('#mainwrapper').width(),
datatype: "local",
colNames:['Table Description','Display Table name'],
colModel:[
{ name:'table_desc', index:'table_desc', sortable: false, align: 'left', editable: true, edittype: 'text', editoptions:{ size:40 }, formatoptions:{
keys: true,
editOptions: myEditParams
} },
{ name:'display_table_name',index:'display_table_name', sortable: false }
],
loadComplete: function(){
$('.ui-jqgrid-htable').css('width',$('#mainwrapper').width()+'px');
if ($('#list2').getGridParam('records') == 0){ // are there any records?
DisplayEmptyText(true);
}else{
DisplayEmptyText(false);
}
},
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"Changelog Tables",
postData: { ajax: "1" },
onSelectRow: function(id){
if(id && id!==lastsel){
jQuery('#list2').jqGrid('restoreRow',lastsel);
jQuery('#list2').jqGrid('editRow',id,true);
$('#list2').jqGrid('setGridParam',id,{ ajax:"1" }); //wanted to set some custom params here.
lastsel=id;
}
},
editurl: "changeLog.php"
});
我想發送一個額外的參數爲ajax = 1,當我做一些就地編輯操作。我曾嘗試過各種方法。但似乎沒有任何工作。我幾乎感到沮喪。
我嘗試這樣做:
$("#list2").jqGrid('setGridParam',{postData:{ajax:'1'}});
沒有工作。我也試過設置postData
param,就像你在處理程序中看到的那樣。這也不起作用。這裏出了什麼問題?請幫我這個
即使這沒有奏效。我完全困惑。如何沒有解決方案工作? – Shades88 2012-04-10 05:33:47
@ Shades88:從[答案]看[演示](http://www.ok-soft-gmbh.com/jqGrid/SendDataFromInlineNav1.htm)。點擊「添加」按鈕並嘗試保存。你會看到'exraparam'的函數被調用。從[答案](http://stackoverflow.com/a/8512693/315935)看[另一個演示](http://www.ok-soft-gmbh.com/jqGrid/inlineDataAsFunction.htm)。它也可以工作。畢竟您可以將演示與您的代碼進行比較。 – Oleg 2012-04-10 06:41:19
好的,請檢查更新的代碼。我通過看你的演示做了改變,但仍然沒有工作 – Shades88 2012-04-10 07:11:38