CodeIgniter + Bootstrap 选项卡,重新加载不会 return 到最后一个活动选项卡

CodeIgniter + Bootstrap tabs, reload won't return to last active tab

这是我在这里的第一个问题,但我已经潜伏了很长时间。希望能说清楚

碰巧我正在开发一个 CI 应用程序,带有 Bootstrap 3 + 标签,然后我制作了一个 "form submit"重新加载将我带到第一个选项卡,而不是最后一个活动标签。

<ul class="nav nav-tabs" id="tabs">
    <li class="active"><a href="#accion" data-toggle="tab">Acción</a></li>
    <li><a href="#observaciones" data-toggle="tab">Observaciones</a></li>
    <li><a href="#adjuntos" data-toggle="tab">Adjuntos</a></li>
</ul>

我的选项卡就是这样构建的,控制器有一个像这样的重定向():

redirect(base_url().'/responderconsulta/index/'.$consulta_id.'#observaciones');

我还没有找到更正此问题的方法。希望能得到一些帮助。

提前致谢。

在您的 js 文件中:

var hash = window.location.hash;
$('#tabs > li').removeClass("active");
$('#tabs').find('a[href='+hash+']').parent().addClass("active");

目标是检测 url 末尾的锚点并激活好的选项卡

编辑:这是另一种选择:

var hash = window.location.hash;
$('#tabs').find('a[href='+hash+']').click();

感谢@Paul Zepernick,他在评论中提到了这个 post 这段代码让这一切变得轻松自如。

$(document).ready(function() {
if(location.hash) {
    $('a[href=' + location.hash + ']').tab('show');
}
  $(document.body).on("click", "a[data-toggle]", function(event) {
      location.hash = this.getAttribute("href");
  });
});
$(window).on('popstate', function() {
  var anchor = location.hash || $("a[data-toggle=tab]").first().attr("href");
  $('a[href=' + anchor + ']').tab('show');
});

感谢大家的帮助,非常感谢!