【发布时间】:2017-12-19 06:36:49
【问题描述】:
我想在搜索后检查记录的总数。
但是getGridParam("records") 不会在trigger("reloadGrid") 之后运行。
这是我的代码。
goSearch : function() {
var jsonObj = {};
var $jqGrid = $("#jqGrid");
if ($("#selectId").val() != "c") {
jsonObj.serviceImplYn = $("#selectId").val();
}
$jqGrid.setGridParam({
datatype : "json",
postData : {"param" : JSON.stringify(jsonObj)},
loadComplete : function(data) {
if (data.rows.length < 1) {
alert("no data.");
}
}
}).trigger("reloadGrid");
//following line not running! first run value = 0, second = success
var totalCnt = $jqGrid.getGridParam("records");
console.log(totalCnt);
}
如何在第一次运行 goSearch() 时获得总数?
【问题讨论】:
-
您当前的代码在启动 Ajax 请求之后执行
var totalCnt = $jqGrid.getGridParam("records");,该请求从服务器加载数据,但在数据加载之前。您只需将行var totalCnt = $jqGrid.getGridParam("records");移动到loadComplete内,这将在数据加载之后 执行。
标签: javascript jquery jqgrid