CodeIgniter + вкладки Bootstrap, перезагрузка не вернется к последней активной вкладке

это мой первый вопрос здесь, но я долго скрывался. Я надеюсь, что смогу прояснить это.

Бывает, что я разрабатываю Приложение 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');

Я не нашел способ исправить это. Я надеюсь, что смогу получить некоторую помощь.

Заранее спасибо.

2

Решение

В вашем файле 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();
1

Другие решения

Благодаря @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');
});

Спасибо всем за помощь, я очень ценю это!

1

По вопросам рекламы [email protected]