Bootstrap 3: Sayfa yenilemede seçili sekmeyi koruyun


120

Bootstrap 3 ile yenilemede seçili sekmeyi aktif tutmaya çalışıyorum . Burada zaten bazı sorularla denedim ve kontrol ettim, ancak benim için çalışmıyor. Nerede yanıldığımı bilmiyorum. İşte kodum

HTML

<!-- tabs link -->
<ul class="nav nav-tabs" id="rowTab">
    <li class="active"><a href="#personal-info" data-toggle="tab">Personal Information</a></li>
    <li><a href="#Employment-info" data-toggle="tab">Employment Information</a></li>
    <li><a href="#career-path" data-toggle="tab">Career Path</a></li>
    <li><a href="#warnings" data-toggle="tab">Warning</a></li>
</ul>
<!-- end: tabs link -->

<div class="tab-content">
    <div class="tab-pane active" id="personal-info">
        tab data here...
    </div>

    <div class="tab-pane" id="Employment-info">
        tab data here...
    </div>

    <div class="tab-pane" id="career-path">
        tab data here...
    </div>

    <div class="tab-pane" id="warnings">
        tab data here...
    </div>
</div>

Javascript :

// tab
$('#rowTab a:first').tab('show');

//for bootstrap 3 use 'shown.bs.tab' instead of 'shown' in the next line
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
//save the latest tab; use cookies if you like 'em better:
localStorage.setItem('selectedTab', $(e.target).attr('id'));
});

//go to the latest tab, if it exists:
var selectedTab = localStorage.getItem('selectedTab');
if (selectedTab) {
  $('#'+selectedTab).tab('show');
}

Çalışmamasının nedeni, seçilen sekmeyi kaydetmemesidir. Ben ne zaman console.log("selectedTab::"+selectedTab);, I got: selectedTab::undefined. Yani uyguladığınız mantık doğru değil
The Dark Knight

O halde bana ne yapmam için rehberlik eder misin?
Code Lover

Düzeltmeye çalışıyorum. Yaparsam, cevabı sizin için burada yayınlayacağım
The Dark Knight

Sana minnettarım .. yardım ettiğin için teşekkürler ..
Code Lover

Bunun işe yarayacağını düşünüyorum: jsbin.com/UNuYoHE/2/edit . Bana haber verirse, cevabı net bir şekilde göndereceğim. Ayrıca div sekme metinlerine de bakmak isteyebilirsiniz. tıkladığınızda doğru yanıt vermiyorlar. Örneğin, tab4'e tıklarsanız, tab1 metnini alırsınız.
Kara Şövalye

Yanıtlar:


187

Seçili sekmeyi pencerenin hash değerinde saklamayı tercih ederim. Bu aynı zamanda "aynı" sayfayı gören meslektaşlara bağlantı gönderilmesini de sağlar. İşin püf noktası, başka bir sekme seçildiğinde konumun karmasını değiştirmektir. Sayfanızda zaten # kullanıyorsanız, muhtemelen hash etiketinin bölünmesi gerekir. Uygulamamda, karma değer ayırıcısı olarak ":" kullanıyorum.

<ul class="nav nav-tabs" id="myTab">
  <li class="active"><a href="#home">Home</a></li>
  <li><a href="#profile">Profile</a></li>
  <li><a href="#messages">Messages</a></li>
  <li><a href="#settings">Settings</a></li>
</ul>

<div class="tab-content">
  <div class="tab-pane active" id="home">home</div>
  <div class="tab-pane" id="profile">profile</div>
  <div class="tab-pane" id="messages">messages</div>
  <div class="tab-pane" id="settings">settings</div>
</div>

JavaScript, bir <script>...</script>kısımda yukarıdakilerden sonra gömülmelidir.

$('#myTab a').click(function(e) {
  e.preventDefault();
  $(this).tab('show');
});

// store the currently selected tab in the hash value
$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) {
  var id = $(e.target).attr("href").substr(1);
  window.location.hash = id;
});

// on load of the page: switch to the currently selected tab
var hash = window.location.hash;
$('#myTab a[href="' + hash + '"]').tab('show');

Komut dosyası bölümünde, sonuna e.preventDefault();$(this).tab('show');
noktalı virgül eklemelisiniz

12
Ne yazık ki tarayıcı, üzerine tıkladığınızda sekme içeriğine atlıyor. Bu, window.location.hash değerini ayarladığınızda varsayılan davranıştır. Bir alternatif push.state kullanıyor olabilir, ancak IE <= 9 için bir polyfill'e ihtiyacınız var. Daha fazla bilgi ve diğer alternatif çözümler için stackoverflow.com/questions/3870057/… sayfasına bakın
Philipp Michael

3
Öğeye tıkladığımızda söz konusu kimliğe "sahte kaydırma" yapılmasını önlemenin herhangi bir yolu var mı?
Patrice Poliquin

1
Kaydırma, sekme sayfalarına atanan kimlik nedeniyledir. Anlamsal kimlikler kullanırsanız ve karmayı karıştırırsanız (yani önek / sonek eklerseniz), geçerli bir kimlik olarak tanınmaz ve herhangi bir kaydırma olmaz. Cevabı bununla genişletecek.
Alex Mazzariol

1
@koppor çalışıyor ancak doğrudan diğer kaydedilmiş sekmeye (bağlantı yoluyla) atladığımda, bağlantıdaki sekmeye atlamadan yaklaşık 1 saniye önce hızlı bir şekilde ana sekmeyi veya ilk sekmeyi görüntülüyor .. İlkinin görüntülenmesini engellemek için herhangi bir fikir sekmesi gerekmediği için?
mboy

135

Bu denediğim en iyisi:

$(document).ready(function() {
    if (location.hash) {
        $("a[href='" + location.hash + "']").tab("show");
    }
    $(document.body).on("click", "a[data-toggle='tab']", 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");
});

20
Bu, kabul edilen çözümden daha iyi çalışıyor (Daha iyisi: kopyala ve yapıştır çalışıyor: D)
Cyril Duchon-Doris

3
gelmiş geçmiş en iyi kopyalama ve yapıştırma: P
Ghostff

1
Seçiciyi olarak değiştirmenin "a[data-toggle=tab]"daha iyi olacağını düşünüyorum. Seçicinin artık yazılma şekli, örneğin bir kipi açmak için bir bağlantıya tıklandığında tarayıcı URL'sini de değiştirir.
leifdenby

5
Seçiciye 'a [href = "' + location.hash + '"]' gibi dize ayracı eklemek isteyebilirsiniz. Bir sözdizimi hatasıyla karşılaştım.
asdacap

1
Bu şekilde-Kullanmak Bootstrap Dropdowns (çeliştiği kullanma data-toggle="dropdown". Ve ben bir durumda tırnaklarla aynı sayfada var ne hangi gibi birisi sadece yerine burada önerilen $(document.body).on("click", "a[data-toggle]", function(event) {ile $(document.body).on("click", "a[data-toggle='tab']", function(event) {. Benim için hile yaptı
Jiveman

44

Diğerlerinin karışımı cevaplar:

  • Tıklamada atlama yok
  • Konum karmasına kaydet
  • LocalStorage'da kaydedin (örneğin: form gönderme için)
  • Sadece kopyalayıp yapıştırın;)

    if (location.hash) {
      $('a[href=\'' + location.hash + '\']').tab('show');
    }
    var activeTab = localStorage.getItem('activeTab');
    if (activeTab) {
      $('a[href="' + activeTab + '"]').tab('show');
    }
    
    $('body').on('click', 'a[data-toggle=\'tab\']', function (e) {
      e.preventDefault()
      var tab_name = this.getAttribute('href')
      if (history.pushState) {
        history.pushState(null, null, tab_name)
      }
      else {
        location.hash = tab_name
      }
      localStorage.setItem('activeTab', tab_name)
    
      $(this).tab('show');
      return false;
    });
    $(window).on('popstate', function () {
      var anchor = location.hash ||
        $('a[data-toggle=\'tab\']').first().attr('href');
      $('a[href=\'' + anchor + '\']').tab('show');
    });

1
Yazık ilk önce diğer çözümleri denedim - bu en iyi sonucu veriyor!
tdc

2
Birçok farklı den denediğim en iyi çözüm. Sekme içeriğine atlama can
sıkıcıydı

4
Bu yanıtla içerik atlama hala orada
shazyriver

2
Mükemmel çözüm: Kopyala, yapıştır, öğle yemeğine git. Güzel.
Gary Stanton

1
Şimdiye kadarki en iyi çözüm
şanslı

19

Xavi'nin kodu neredeyse tamamen çalışıyordu. Ancak başka bir sayfaya giderken, bir form gönderirken, ardından sekmelerimin bulunduğu sayfaya yönlendirilmek kaydedilen sekmeyi hiç yüklemiyordu.

kurtarma için localStorage (biraz değiştirilmiş Nguyenen'in kodu):

$('a[data-toggle="tab"]').click(function (e) {
    e.preventDefault();
    $(this).tab('show');
});

$('a[data-toggle="tab"]').on("shown.bs.tab", function (e) {
    var id = $(e.target).attr("href");
    localStorage.setItem('selectedTab', id)
});

var selectedTab = localStorage.getItem('selectedTab');
if (selectedTab != null) {
    $('a[data-toggle="tab"][href="' + selectedTab + '"]').tab('show');
}

2
Bu altın! Modallerle bile çalışır! Mükemmel cevap.
Lech Osiński

2
Bu kod harika ve kullanıcı siteden ayrılıp (oturumu sonlandırsa) daha sonra geri gelse bile sekmenin seçili kalmasını istiyorsanız harika çalışıyor. Seçimin yalnızca geçerli oturum sırasında kalmasını sağlamak ve sonraki oturumda varsayılan sekmeye dönmek için "localStorage" ın iki örneğini "sessionStorage" ile değiştirin.
Gary.

Bootstrap 4 ile harika çalışan kısa, tatlı, kopyala / yapıştır çözümü
CFP Desteği

Harika bir çözüm!
Jilani A

1
[data-toggle="pill"]haplar için
mxmissile

12

Bu, localStorageetkin sekmeyi depolamak için HTML5 kullanıyor

$('a[data-toggle="tab"]').on('shown.bs.tab', function(e) {
    localStorage.setItem('activeTab', $(e.target).attr('href'));
});
var activeTab = localStorage.getItem('activeTab');
if (activeTab) {
   $('#navtab-container a[href="' + activeTab + '"]').tab('show');
}

ref: http://www.tutorialrepublic.com/faq/how-to-keep-the-current-tab-active-on-page-reload-in-bootstrap.php https://www.w3schools.com/bootstrap /bootstrap_ref_js_tab.asp


bu güzel, ancak bir dezavantajı, aktif sekmeyle bağlantı paylaşamamanızdır
lfender6445

Bu güzel, avantaj çarpışma ve kötü param neden url http isteği param için "window.location.hash" ekleyerek karma değer böyle sayfalama, vb gibi diğer http isteği ile okumak nerede sorunu tanıtmak gelmez ise
Gübre

4

Kendimi Xavi Martínez ve koppor tarafından sağlanan yanıtlara dayandırarak , url hash veya localStorage'ı, ikincisinin kullanılabilirliğine bağlı olarak kullanan bir çözüm buldum:

function rememberTabSelection(tabPaneSelector, useHash) {
    var key = 'selectedTabFor' + tabPaneSelector;
    if(get(key)) 
        $(tabPaneSelector).find('a[href=' + get(key) + ']').tab('show');

    $(tabPaneSelector).on("click", 'a[data-toggle]', function(event) {
        set(key, this.getAttribute('href'));
    }); 

    function get(key) {
        return useHash ? location.hash: localStorage.getItem(key);
    }

    function set(key, value){
        if(useHash)
            location.hash = value;
        else
            localStorage.setItem(key, value);
    }
}

Kullanımı:

$(document).ready(function () {
    rememberTabSelection('#rowTab', !localStorage);
    // Do Work...
});

Xavi Martínez'in çözümünde olduğu gibi geri düğmesine ayak uyduramıyor .


4

Kodum benim için çalışıyor, localStorageHTML5 kullanıyorum

$('#tabHistory  a').click(function(e) {
  e.preventDefault();
  $(this).tab('show');
});
$("ul.nav-tabs#tabHistory > li > a").on("shown.bs.tab", function(e) {
  var id = $(e.target).attr("href");
  localStorage.setItem('selectedTab', id)
});
var selectedTab = localStorage.getItem('selectedTab');
$('#tabHistory a[href="' + selectedTab + '"]').tab('show');

4

Bunu denedim ve işe yarıyor: (Lütfen bunu kullandığınız hap veya sekme ile değiştirin )

    jQuery(document).ready(function() {
        jQuery('a[data-toggle="pill"]').on('show.bs.tab', function(e) {
            localStorage.setItem('activeTab', jQuery(e.target).attr('href'));
        });

        // Here, save the index to which the tab corresponds. You can see it 
        // in the chrome dev tool.
        var activeTab = localStorage.getItem('activeTab');

        // In the console you will be shown the tab where you made the last 
        // click and the save to "activeTab". I leave the console for you to 
        // see. And when you refresh the browser, the last one where you 
        // clicked will be active.
        console.log(activeTab);

        if (activeTab) {
           jQuery('a[href="' + activeTab + '"]').tab('show');
        }
    });

Umarım birine yardımcı olur.

İşte sonuç: https://jsfiddle.net/neilbannet/ego1ncr5/5/


4

Bu zaten 2018'de ama bence geç olması hiç olmamasından daha iyi (bir TV programındaki bir başlık gibi), lol. Aşağıda tezim sırasında oluşturduğum jQuery kodu var.

<script type="text/javascript">
$(document).ready(function(){
    $('a[data-toggle="tab"]').on('show.affectedDiv.tab', function(e) {
        localStorage.setItem('activeTab', $(e.target).attr('href'));
    });
    var activeTab = localStorage.getItem('activeTab');
    if(activeTab){
        $('#myTab a[href="' + activeTab + '"]').tab('show');
    }
});
</script>

ve işte önyükleme sekmeleri için kod:

<div class="affectedDiv">
    <ul class="nav nav-tabs" id="myTab">
        <li class="active"><a data-toggle="tab" href="#sectionA">Section A</a></li>
        <li><a data-toggle="tab" href="#sectionB">Section B</a></li>
        <li><a data-toggle="tab" href="#sectionC">Section C</a></li>
    </ul>
    <div class="tab-content">
        <div id="sectionA" class="tab-pane fade in active">
            <h3>Section A</h3>
            <p>Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui. Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth.</p>
        </div>
        <div id="sectionB" class="tab-pane fade">
            <h3>Section B</h3>
            <p>Vestibulum nec erat eu nulla rhoncus fringilla ut non neque. Vivamus nibh urna, ornare id gravida ut, mollis a magna. Aliquam porttitor condimentum nisi, eu viverra ipsum porta ut. Nam hendrerit bibendum turpis, sed molestie mi fermentum id. Aenean volutpat velit sem. Sed consequat ante in rutrum convallis. Nunc facilisis leo at faucibus adipiscing.</p>
        </div>
        <div id="sectionC" class="tab-pane fade">
            <h3>Section C</h3>
            <p>Vestibulum nec erat eu nulla rhoncus fringilla ut non neque. Vivamus nibh urna, ornare id gravida ut, mollis a magna. Aliquam porttitor condimentum nisi, eu viverra ipsum porta ut. Nam hendrerit bibendum turpis, sed molestie mi fermentum id. Aenean volutpat velit sem. Sed consequat ante in rutrum convallis. Nunc facilisis leo at faucibus adipiscing.</p>
        </div>
    </div>
</div>


Önyükleme ve diğer temel şeyleri çağırmayı unutmayın 

işte size hızlı kodlar:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


Şimdi açıklamaya gelelim:

Yukarıdaki örnekteki jQuery kodu, jQuery .attr () yöntemi kullanılarak yeni bir sekme gösterildiğinde basitçe öğenin href öznitelik değerini alır ve HTML5 localStorage nesnesi aracılığıyla kullanıcının tarayıcısına yerel olarak kaydeder. Daha sonra kullanıcı sayfayı yenilediğinde bu verileri alır ve ilgili sekmeyi .tab ('show') yöntemi ile etkinleştirir.

Bazı örnekler mi arıyorsunuz? işte size bir tane .. https://jsfiddle.net/Wineson123/brseabdr/

Keşke cevabım hepinize yardımcı olabilseydi .. Cheerio! :)


2

Henüz yorum yapamadığım için cevabı yukarıdan kopyaladım, gerçekten bana yardımcı oldu. Ancak bunu #id yerine çerezlerle çalışacak şekilde değiştirdim, bu yüzden değişiklikleri paylaşmak istedim. Bu, aktif sekmeyi tek bir yenilemeden daha uzun süre saklamayı (örn. Çoklu yeniden yönlendirme) veya id zaten kullanıldığında ve koppors split yöntemini uygulamak istemediğinizde saklamayı mümkün kılar.

<ul class="nav nav-tabs" id="myTab">
    <li class="active"><a href="#home">Home</a></li>
    <li><a href="#profile">Profile</a></li>
    <li><a href="#messages">Messages</a></li>
    <li><a href="#settings">Settings</a></li>
</ul>

<div class="tab-content">
    <div class="tab-pane active" id="home">home</div>
    <div class="tab-pane" id="profile">profile</div>
    <div class="tab-pane" id="messages">messages</div>
    <div class="tab-pane" id="settings">settings</div>
</div>

<script>
$('#myTab a').click(function (e) {
    e.preventDefault();
    $(this).tab('show');
});

// store the currently selected tab in the hash value
$("ul.nav-tabs > li > a").on("shown.bs.tab", function (e) {
    var id = $(e.target).attr("href").substr(1);
    $.cookie('activeTab', id);
});

    // on load of the page: switch to the currently selected tab
    var hash = $.cookie('activeTab');
    if (hash != null) {
        $('#myTab a[href="#' + hash + '"]').tab('show');
    }
</script>

Güncelleme için teşekkürler. Gerçekte böyle bir çözüm arıyordum ama istediğim zamandan daha sadece @koppor cevabını çalışıyor olarak aldım. Aslında geri özelliğini kullanmak istiyorsak bu harika bir yoldur. Güncelleme için teşekkürler
Code Lover

2

Xavi Martínez'in sunduğu kodu denedim . Çalıştı, ancak IE7 için değil. Sorun şu ki, sekmeler herhangi bir ilgili içeriğe atıfta bulunmaz.
Bu yüzden, bu sorunu çözmek için bu kodu tercih ediyorum.

function pageLoad() {
  $(document).ready(function() {

    var tabCookieName = "ui-tabs-1"; //cookie name
    var location = $.cookie(tabCookieName); //take tab's href

    if (location) {
      $('#Tabs a[href="' + location + '"]').tab('show'); //activate tab
    }

    $('#Tabs a').click(function(e) {
      e.preventDefault()
      $(this).tab('show')
    })

    //when content is alredy shown - event activate 
    $('#Tabs a').on('shown.bs.tab', function(e) {
      location = e.target.hash; // take current href
      $.cookie(tabCookieName, location, {
        path: '/'
      }); //write href in cookie
    })
  });
};

bu güzel, ancak bir dezavantajı, aktif sekmeyle bağlantı paylaşamamanızdır
lfender6445

1

Paylaşım için teşekkürler.

Tüm çözümleri okuyarak. Aşağıdaki kodla ikincisinin kullanılabilirliğine bağlı olarak url hash veya localStorage kullanan bir çözüm buldum:

$(function(){
    $(document).on('shown.bs.tab', 'a[data-toggle="tab"]', function (e) {
        localStorage.setItem('activeTab', $(e.target).attr('href'));
    })

    var hash = window.location.hash;
    var activeTab = localStorage.getItem('activeTab');

    if(hash){
          $('#project-tabs  a[href="' + hash + '"]').tab('show');   
    }else if (activeTab){
        $('#project-tabs a[href="' + activeTab + '"]').tab('show');
    }
});

1

Bootstrap v4.3.1 için. Aşağıdakileri deneyin:

$(document).ready(function() {
    var pathname = window.location.pathname; //get the path of current page
    $('.navbar-nav > li > a[href="'+pathname+'"]').parent().addClass('active');
})

0

Html5 kullanarak bunu hazırladım:

Bazıları sayfanın neresinde:

<h2 id="heading" data-activetab="@ViewBag.activetab">Some random text</h2>

Görünüm çantası yalnızca sayfanın / öğenin kimliğini içermelidir, ör. "Test"

Bir site.js oluşturdum ve sayfaya komut dosyasını ekledim:

/// <reference path="../jquery-2.1.0.js" />
$(document).ready(
  function() {
    var setactive = $("#heading").data("activetab");
    var a = $('#' + setactive).addClass("active");
  }
)

Şimdi yapmanız gereken tek şey, kimliğinizi gezinme çubuğunuza eklemek. Örneğin.:

<ul class="nav navbar-nav">
  <li **id="testing" **>
    @Html.ActionLink("Lalala", "MyAction", "MyController")
  </li>
</ul>

Veri özniteliğini selamlayın :)


0

Xavi Martínez'in tıklamadaki atlamayı önleyen cevabına ek

Atlamadan Kaçınma

$(document).ready(function(){

    // show active tab

    if(location.hash) {

        $('a[href=' + location.hash + ']').tab('show');
    }

    // set hash on click without jumb

    $(document.body).on("click", "a[data-toggle]", function(e) {

        e.preventDefault();

        if(history.pushState) {

            history.pushState(null, null, this.getAttribute("href"));
        }
        else {

            location.hash = this.getAttribute("href");
        }

        $('a[href=' + location.hash + ']').tab('show');

        return false;
    });
});

// set hash on popstate

$(window).on('popstate', function() {

    var anchor = location.hash || $("a[data-toggle=tab]").first().attr("href");

    $('a[href=' + anchor + ']').tab('show');
});

İç içe sekmeler

ayırıcı olarak "_" karakteriyle uygulama

$(document).ready(function(){

    // show active tab

    if(location.hash) {

        var tabs = location.hash.substring(1).split('_');

        $.each(tabs,function(n){

            $('a[href=#' + tabs[n] + ']').tab('show');
        });         

        $('a[href=' + location.hash + ']').tab('show');
    }

    // set hash on click without jumb

    $(document.body).on("click", "a[data-toggle]", function(e) {

        e.preventDefault();

        if(history.pushState) {

            history.pushState(null, null, this.getAttribute("href"));
        }
        else {

            location.hash = this.getAttribute("href");
        }

        var tabs = location.hash.substring(1).split('_');

        //console.log(tabs);

        $.each(tabs,function(n){

            $('a[href=#' + tabs[n] + ']').tab('show');
        });

        $('a[href=' + location.hash + ']').tab('show');

        return false;
    });
});

// set hash on popstate

$(window).on('popstate', function() {

    var anchor = location.hash || $("a[data-toggle=tab]").first().attr("href");

    var tabs = anchor.substring(1).split('_');

    $.each(tabs,function(n){

        $('a[href=#' + tabs[n] + ']').tab('show');
    });

    $('a[href=' + anchor + ']').tab('show');
});

0

Yüklemek için jquery tetikleyicisini kullandık ve bir komut dosyası bizim için düğmeye bastı

$ ( "Class_name.") Tetik ( 'tıklayın.');


0

Yazıklar olsun, bunu yapmanın pek çok yolu var. Bunu buldum, kısa ve basit. Umarım bu başkalarına yardımcı olur.

  var url = document.location.toString();
  if (url.match('#')) {
    $('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
  } 

  $('.nav-tabs a').on('shown.bs.tab', function (e) {
    window.location.hash = e.target.hash;
    if(e.target.hash == "#activity"){
      $('.nano').nanoScroller();
    }
  })

0

Sayfayı yeniden yükledikten ve beklenen sekmeyi seçili tuttuktan sonra bir çözüm var.

Verileri kaydettikten sonra yeniden yönlendirilen url'nin: my_url # tab_2 olduğunu varsayalım.

Şimdi aşağıdaki komut dosyası aracılığıyla, beklenen sekmeniz seçili kalacaktır.

$(document).ready(function(){
    var url = document.location.toString();
    if (url.match('#')) {
        $('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
        $('.nav-tabs a').removeClass('active');
    }
});

Bağlantı etiketine otomatik olarak atanan etkin sınıf vardır, bu nedenle $ ('. Nav-tabs a') ile kaldırılır. RemoveClass ('active'); bu senaryo.
Hasib Kamal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.