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

SugarCRM 7自定义标签页视图切换异常求助

解决SugarCRM 7中Bootstrap标签页无法切换的问题

我一眼就揪出了问题的核心——你的标签页链接的data-target属性格式不对!Bootstrap的标签页组件要求data-target的值必须是带#号的CSS选择器,用来匹配对应tab-pane的ID,而你现在写的是不带#的裸ID,导致点击时找不到对应的内容区块。

第一步:修正HTML中的data-target属性

把你的tab链接代码里的data-target="tab1"改成data-target="#tab1",data-target="tab2"改成data-target="#tab2",修改后的完整HTML片段如下:

<div class="tabbable">
  <ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" data-target="#tab1">Section 1</a></li>
    <li><a data-toggle="tab" data-target="#tab2">Section 2</a></li>
  </ul>
  <div class="tab-content">
    <div class="tab-pane active" id="tab1">
      <p>I'm in Section 1.</p>
    </div>
    <div class="tab-pane" id="tab2">
      <p>Howdy, I'm in Section 2.</p>
    </div>
  </div>
</div>

第二步:优化JavaScript代码(可选)

实际上Bootstrap的标签页组件已经内置了点击切换的逻辑,你自己写的click事件绑定有点多余,甚至可能和原生行为冲突。如果不需要自定义控制台输出这类额外逻辑,完全可以删掉这段JS代码。要是你确实需要在切换时做一些自定义操作,可以改用Bootstrap的标签页专属事件,比如:

$(function() {
  $('.nav-tabs a').on('shown.bs.tab', function (e) {
    // 标签页切换完成后执行自定义逻辑
    console.log('已切换到标签页:', $(e.target).text());
  });
});

额外注意:SugarCRM 7环境的兼容性

在SugarCRM 7中,页面基于Backbone.js渲染,确保你的代码是在DOM完全加载后执行的。如果是在自定义视图的tpl文件里编写的代码,当前的$(function(){})写法是没问题的,它会在DOM就绪后自动触发。

按照上面的步骤修改后,你的标签页应该就能正常切换了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:16:03