我想在搜索后检查有关记录的总数。
但是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");
或在setTmeout函数中运行它,直到发出ajax请求以加载数据为止,这样您就可以获得所需的信息。
setTimeout(function() {
var totalCnt = $jqGrid.getGridParam("records");
}, 300);
关于javascript - 如何在触发器(“reloadGrid”)之后使用getGridParam()获取总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47881273/