在我看来,用页脚而不是表格(具有 ui-jqgrid-ftable 类)隐藏 div 会更好。 div 有类ui-jqgrid-sdiv。在我看来,$(".ui-jqgrid-ftable") 的使用在页面上作为一个网格使用时并不好。
我认为您可以在loadComplete 回调中放置隐藏/显示页脚。您可以测试返回记录的数量并仅在有更多为空记录时才显示页脚。对应的代码大概如下:
loadComplete: function () {
var $this = $(this),
$footer = $this.closest(".ui-jqgrid-bdiv").next(".ui-jqgrid-sdiv"),
records = parseInt($this.jqGrid("getGridParam", "records"), 10);
if (records >= 0) {
$footer.show();
} else {
$footer.hide();
}
}
如果您使用$(this.grid.sDiv) 而不是$this.closest(".ui-jqgrid-bdiv").next(".ui-jqgrid-sdiv"),您可以获得最小的性能优势。 grid 是分配给网格 DOM 的内部属性。 grid 属性将在创建 jqGrid 期间初始化,并将在内部使用。好像
所以你可以把上面的代码改成
loadComplete: function () {
var $footer = $(this.grid.sDiv),
records = parseInt($(this).jqGrid("getGridParam", "records"), 10);
if (records >= 0) {
$footer.show();
} else {
$footer.hide();
}
}