我想在搜索后查看有关记录的总数。但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()
运行的总计数?
您应该运行该命令
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");
或者在setTimeout函数中运行它,等待ajax请求加载数据,这样你就可以获得所需的信息。
setTimeout(function() {
var totalCnt = $jqGrid.getGridParam("records");
}, 300);