当我加载我的jqgrid时,我在loadcomplete部分中按以下方式填充我的过滤器工具栏选择框:
$(".ui-search-toolbar").find("select").each(function (index, value) {
getDropdowndata($(this).attr('NAME'));
});
问题是每次重新加载网格时都会运行此代码。这会导致选择框在我通过单击几个页面时填充多个值。
我想要的是仅在第一次加载网格时运行此代码。
答案 0 :(得分:2)
最简单的解决方案是使用布尔变量并检查填充是否已经完成
var isPopulated = false;
...
function onLoadComplete(){
if(!isPopulated){
//your code here
isPopulated = true;
}
}
答案 1 :(得分:1)
loadComplete: function (data) {
var $this = $(this),
datatype = $this.getGridParam('datatype');
if (datatype === "xml" || datatype === "json") {
setTimeout(function () {
$this.trigger("reloadGrid");
}, 100);
}
}
这只会执行一次。在这个帖子上找到了这个。 Default sorting of jqgrid on particular field when grid loads