我想在搜索后查看有关记录的总数。
但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()
运行中获得总计数?
答案 0 :(得分:0)
您应该运行命令
var totalCnt = $jqGrid.getGridParam("records");
在loadComplete中发布
$jqGrid.setGridParam({
datatype : "json",
postData : {"param" : JSON.stringify(jsonObj)},
loadComplete : function(data) {
if (data.rows.length < 1) {
alert("no data.");
}
var totalCnt = $jqGrid.getGridParam("records");
}
}).trigger("reloadGrid");
或在setTmeout函数中运行它,等待ajax请求加载数据,这样你就可以获得所需的信息。
setTimeout(function() {
var totalCnt = $jqGrid.getGridParam("records");
}, 300);