我創建了一個用於創建jqGrid的可重用函數。JQuery - 可重複使用的jqGrid創建函數觸發使用它的最後一個表的'loadComplete'
function createJqGrid(){
$("#" + gTableId).jqGrid({
datastr: jsonData,
datatype: 'jsonstring',
jsonReader: { repeatitems: false, root: function(obj) { return obj; }},
headertitles: true,
sortable: true,
rownumbers: isRowNum,
colNames: colHeadNames,
colModel: colModel,
rowNum: jsonData.length,
width: viewableWidth,
height: viewableHeight,
shrinkToFit: isShrink,
scrollOffset: 0,
onSelectRow: func,
loadComplete: function(data) {
alert(gTableId);
}
});
}
該功能和所有的參數設定被封裝內部MyObject
。我的四個jsp有自己獨特的實例MyObject
。但是當我觸發一個jqGrid的reloadGrid時,使用這個函數的最後一個表的id被提醒。
考慮:
table1的是內部table1.jsp
表2是內部table2.jsp
表3是內部table3.jsp
表4是內部table4.jsp
$("#table1").trigger("reloadGrid");
警報 「表4」
$("#table2").trigger("reloadGrid");
警報「table4」
$("#table3").trigger("reloadGrid");
警報「table4」
$("#table4").trigger("reloadGrid");
警報「table4」
好像最後創建表的loadComplete
被觸發。爲什麼這樣?