You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jqGrid JS 5.3.0嵌入Bootstrap标签页后无法显示的问题

我太懂这个坑了!之前帮好几个开发者解决过jqGrid在Bootstrap标签页里空白的问题,核心原因就是Bootstrap默认会把未激活的标签面板设为display: none,而jqGrid 5.3.0在初始化的时候,如果容器是隐藏状态,根本没法正确计算网格的宽高,结果就是渲染出来一片空白。给你几个实测有效的解决办法:

方法1:在标签激活时才初始化jqGrid

最稳妥的方式是等目标标签被激活、面板可见后,再初始化jqGrid,这样网格能正确获取容器尺寸:

// 监听标签切换事件
$('#myTab a').on('shown.bs.tab', function (e) {
  // 获取当前激活的面板ID
  const targetTab = $(e.target).attr("href");
  
  // 假设你的jqGrid放在#home面板里
  if (targetTab === "#home") {
    // 先判断是否已经初始化过,避免重复执行
    if (!$(targetTab + " #mygrid").hasClass("ui-jqgrid")) {
      $(targetTab + " #mygrid").jqGrid({
        styleUI: 'Bootstrap',
        url: '你的数据接口地址',
        colModel: [
          { name: 'id', label: 'ID', width: 80 },
          { name: 'username', label: '用户名', width: 150 },
          // 其他列配置...
        ],
        rowNum: 10,
        pager: '#pager',
        viewrecords: true,
        // 其他网格配置...
      });
    }
  }
});

方法2:页面加载时初始化,激活标签后调整尺寸

如果需要页面一加载就完成初始化,可以先临时显示隐藏的面板,让jqGrid能计算尺寸,初始化后再恢复隐藏,之后监听标签激活事件调整网格大小:

$(document).ready(function() {
  const $homePanel = $('#home');
  const wasHidden = $homePanel.is(':hidden');
  
  // 临时显示面板
  if (wasHidden) {
    $homePanel.show();
  }

  // 初始化jqGrid
  $('#mygrid').jqGrid({
    styleUI: 'Bootstrap',
    // 你的网格配置项...
  });

  // 恢复面板原状态
  if (wasHidden) {
    $homePanel.hide();
  }

  // 监听标签激活,调整网格宽度
  $('#myTab a').on('shown.bs.tab', function (e) {
    const targetTab = $(e.target).attr("href");
    if (targetTab === "#home") {
      // 减去面板内边距的宽度,避免横向滚动条
      const panelWidth = $(targetTab).width() - 20;
      $('#mygrid').jqGrid('setGridWidth', panelWidth);
    }
  });
});

方法3:修改Bootstrap标签的隐藏逻辑(应急用)

不推荐长期用,但如果赶时间可以试试:把Bootstrap默认的display: none改成visibility: hidden,这样容器尺寸依然能被计算到,只是视觉上隐藏:

.tab-content .tab-pane {
  display: block !important;
  visibility: hidden;
  position: absolute;
  width: 100%;
}
.tab-content .tab-pane.active {
  visibility: visible;
  position: static;
}

这个方法可能会影响页面布局,所以优先选前两种方案。

内容的提问来源于stack exchange,提问作者Sean Ad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:36:02