我创建了一个可重用的函数来创建 jqGrid。
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 里面
table2 在 table2.jsp 里面 table3 在 table3.jsp
里面
table4 在 table4.jsp 里面 alerts
$("#table1").trigger("reloadGrid");
"table4" alerts "table4
$("#table2").trigger("reloadGrid");
" alerts "table4"
alerts " table4
$("#table3").trigger("reloadGrid");
"正在被触发。为什么会这样?
$("#table4").trigger("reloadGrid");
loadComplete