我试图用Bootstrap 3刷新keep selected tab active.try 并判断了一些已经被问到的问题,但对我来说没有任何效果.不知道我错在哪里.这是我的密码

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');
}

推荐答案

我更喜欢将所选选项卡存储在窗口的哈希值中.这还可以将链接发送给同事,让他们看到"相同"页面.诀窍是在 Select 另一个选项卡时更改位置的哈希.如果您已经在页面中使用了#,则可能需要拆分散列标签.在我的应用程序中,我使用":"作为散列值分隔符.

<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,必须在上面的<script>...</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);
  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');

Jquery相关问答推荐

使用 howler.js 中的变量播放多种声音

表单提交之前的jQuery函数

jQuery 的元素或类 LIKE Select 器?

如何 Select 具有特定文本的所有锚标记

如何在 jQuery Select 器中定义 css :hover 状态?

使用 jQuery 按文本内容 Select 选项

JSON字符串到JS对象

如何使用给定的 url 判断图像是否存在?

如何通过 Select 插件使用 jQuery 验证?

使用 jQuery 刷新(重新加载)页面一次?

$(document).on('click', '#id', function() {}) 与 $('#id').on('click', function(){})

单击后如何禁用提交按钮?

使用带有 HTML 表格的 jQuery UI 可排序

如何推迟内联 Javascript?

如何获得元素的正确偏移量? - jQuery

按文本 Select 链接(完全匹配)

检测夹点的最简单方法

AJAX 成功中的 $(this) 不起作用

使用 jQuery 将一个标签替换为另一个标签

使用 Chosen 插件更改 Select 中的 Select