为什么多次调用执行以下操作的函数的任何想法
grid.jqGrid('GridUnload');
createGrid();
只会每隔一段时间创建一次网格,但是......
以下每次调用时都会起作用:
grid.jqGrid('GridUnload');
setTimeout(createGrid, 1000);
答案 0 :(得分:3)
您没有包含createGrid
的代码,所以我只能猜测。一个可能的原因是你在里面使用grid
变量。如果您使用GridUnload
,旧的<table>
元素将被删除,另一个元素将在同一个地方创建。因此,您应该在调用grid
后重置GridUnload
的值:
var gridId = grid[0].id; // or grid.attr('id');
grid.jqGrid('GridUnload');
grid = $('#' + $.jgrid.jqID(gridId)); // or just $('#' + gridId);
createGrid();
仅当网格的$.jgrid.jqID
可以包含某些meta-character时,您必须使用的方法id
。