это мой первый вопрос здесь, но я долго скрывался. Я надеюсь, что смогу прояснить это.
Бывает, что я разрабатываю Приложение CI, с Bootstrap 3 + вкладки, и после того, как я сделаю «отправку формы», перезагрузка переносит меня на первую вкладку вместо последнего активного тега.
<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 (), например:
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-адреса и активировать вкладку good
Изменить: вот еще одна альтернатива:
var hash = window.location.hash;
$('#tabs').find('a[href='+hash+']').click();
Благодаря @Paul Zepernick, в своем комментарии он упомянул это сообщение где этот код делает это легко и просто
$(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');
});
Спасибо всем за помощь, я очень ценю это!