CodeIgniter + Bootstrap选项卡,重新加载不会返回上一个活动选项卡

时间:2015-02-05 20:54:07

标签: php twitter-bootstrap codeigniter tabs

这是我在这里的第一个问题,但我一直潜伏着。我希望我能说清楚。

碰巧我正在使用Bootstrap 3 +标签开发 CI应用程序,在我进行“表单提交”后,重新加载将我带到第一个标签,而不是最后一个标签标签

<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');

我还没有办法纠正这个问题。我希望我能得到一些帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

在你的js文件中:

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

目标是检测网址末尾的锚点并设置活动好标签

编辑:这是另一种选择:

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

答案 1 :(得分:1)

感谢@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');
});

感谢所有人的帮助,我真的很感激!