2016-04-07 7 views
4

Когда Save кнопка нажата страница получает перезагружается, как это так, с введением дополнительной parameter в url:Как сохранить вкладку активным при перезагрузке страницы?

window.location.replace('https://www.servis-racunara.net/pages/users.php?new_column_added'); 

Итак, вот как я проверяю параметр погода устанавливается в пределах URL:

$(document).ready(function() { 
    if (window.location.search.indexOf('new_column_added') > -1) {} 
}); 

Итак, страница выглядит так: enter image description here

Когда есть new_column_added в пределах URL-адреса (т. Е. При нажатии кнопки «Сохранить»), страница должна быть повторно ad, но вкладка Edit User List должна быть активной, и его содержимое должно быть там. Это, как вкладки создаются с помощью Bootstrap:

<ul id="mainTabs" class="nav nav-tabs users-tabs" role="tablist"> 
    <li id="glavniUseri" role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">View Users</a></li> 
    <li id="editUsers" role="presentation"><a href="#edit-user-list" aria-controls="profile" role="tab" data-toggle="tab">Edit User List</a></li> 
    <li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Target Groups</a></li> 
    <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">API</a></li> 
</ul> 

И это, как мне удалось сделать Edit User List активный:

$(document).ready(function() { 
    if (window.location.search.indexOf('new_column_added') > -1) { 
     console.log('radii ovoo'); 
     $('#glavniUseri').removeClass('active'); 
     $('#editUsers').addClass('active'); 
}); 

Но все это, чтобы сделать Edit User List активным, но содержание View Users вкладки получает после перезагрузки. Я также пробовал сделать это:

$(document).on('load', function() { 
      var $link = $('li.active a[data-toggle="tab"]'); 
      $link.parent().removeClass('active'); 
      var tabLink = $link.attr('href'); 
      $('#mainTabs a[href="' + tabLink + '"]').tab('show'); 
     }); 

Но это тоже не работает. Я знаю, что подобные вопросы задавали раньше, но, похоже, ни одна из решений не соответствует моей ситуации. Итак, если у вас есть идея, пожалуйста, помогите, я застрял в этом.

+0

Что наименее совместимость для браузеров? если я правильно понял после завершения asyc save u хочу изменить URL. Это можно сделать без перезагрузки, если браузер MINI IE9. – Dreamweaver

+0

Когда вы отправляете данные и перезагружают страницу, текущая функция из javascript сбрасывается. Почему бы не использовать AJAX? Это позволит вам отправлять данные на внешний серверный файл без перезагрузки страницы, что означает, что текущий запуск javascript не остановится и не перезагрузится. Это также ускорит процесс, так как клиенту не придется ждать загрузки страницы снова. – NewToJS

+0

Все, что я хочу, это просто, когда нажата кнопка сохранения, страница, которая будет перезагружена и останется на последней активной вкладке. – Ognj3n

ответ

2

попробовать этот код:

$(document).ready(function() { 
    if (window.location.search.indexOf('new_column_added') > -1) { 
     console.log('radii ovoo'); 
     $('#glavniUseri').removeClass('active'); 
     $('#editUsers').addClass('active'); 
     $('#edit-user-list').parent().find('.active').removeClass('active'); 
     $('#edit-user-list').addClass('active'); 
}); 

или:

$('a[href="#edit-user-list"]').tab('show'); 

https://jsfiddle.net/w8zjhamu/

+1

Отличная работа. Это другое решение сработало! благодаря – Ognj3n

Смежные вопросы