Javascript 维护引导';s在页面之间激活导航选项卡

Javascript 维护引导';s在页面之间激活导航选项卡,javascript,twitter-bootstrap-3,url-parameters,Javascript,Twitter Bootstrap 3,Url Parameters,我使用的是bootstrap3。我目前有两个页面,一个是查看页面,一个是编辑页面。两个页面都有许多导航选项卡,比如id=tab1、tab2、tab3 我试图实现的是,当我在查看页面的tab2上时,如果单击编辑按钮,我将自动转到编辑页面的tab2。当我在编辑页面的tab3上时,如果我按cancel,我将自动转到查看页面的tab3 我目前的想法是将tabid附加到URL参数,在pageready上,页面读取读取URL并激活给定的选项卡。这是我激活标签的代码 $(document).ready(fun

我使用的是bootstrap3。我目前有两个页面,一个是查看页面,一个是编辑页面。两个页面都有许多导航选项卡,比如id=tab1、tab2、tab3

我试图实现的是,当我在查看页面的tab2上时,如果单击编辑按钮,我将自动转到编辑页面的tab2。当我在编辑页面的tab3上时,如果我按cancel,我将自动转到查看页面的tab3

我目前的想法是将tabid附加到URL参数,在pageready上,页面读取读取URL并激活给定的选项卡。这是我激活标签的代码

$(document).ready(function(){
    activaTab(getUrlVars()["tabId"]);
});

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function activaTab(tab){
    $('.nav-tabs a[href="#' + tab + '"]').tab('show');
};
$(文档).ready(函数(){
activaTab(getUrlVars()[“tabId”]);
});
函数getUrlVars(){
var vars=[],散列;
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i
但是,我在将id添加到URL时遇到问题,请同时单击和

<a class="btn"> 我只是想知道是否有人做过类似的事情?有更好的解决办法吗?请提供示例代码。

我认为您可以使用:

$('.btn').on('click',function(){
        window.location.href = 'edit.html' + window.location.hash; //the current hash
});
另见:


    • 下面是我如何解决这个问题的

      我给了我的ref链接一个名为viewToEdit的类名,然后我停止了链接的默认行为(否则它将忽略以下代码)。我使用jQuery提取了当前激活的选项卡id,并将其附加到我的目标URL。下面是我的代码

      $("a.viewToEdit").on('click', function(event) {
          event.preventDefault();
          var activatedDiv = $('div.tab-pane.form-tab-pane.active');
          if(typeof activatedDiv.attr("id") !== "undefined") {
              $(location).attr('href',$(this).attr("href")+"?tabId="+activatedDiv.attr("id"));
          } else {
              $(location).attr('href',$(this).attr("href"));
          }
      });
      
      $("a.viewToEdit").on('click', function(event) {
          event.preventDefault();
          var activatedDiv = $('div.tab-pane.form-tab-pane.active');
          if(typeof activatedDiv.attr("id") !== "undefined") {
              $(location).attr('href',$(this).attr("href")+"?tabId="+activatedDiv.attr("id"));
          } else {
              $(location).attr('href',$(this).attr("href"));
          }
      });