我正在关注this recommendation,了解如何使用以下命令重新加载当前活动的选项卡:
$('#tab-loaded-content').load($('li.active a[data-toggle="tab"]').attr('href'));但当我尝试这样做时,结果是它加载了最初活动的标签(在我的html中定义为活动的标签),而不是当前的活动标签。所以我正在寻找一些帮助来弄清楚如何做到这一点。
这是我的问题的一个简化版本:
<!DOCTYPE html>
<html>
<head>
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body>
<div class="tabbable">
<ul id="mainTabs" class="nav nav-tabs">
<li class="active"><a href="#tabWelcome" data-toggle="tab">Home</a></li>
<li><a href="#tabProject" data-toggle="tab">Project</a></li>
<li><a href="#tabEmail" data-toggle="tab">Invite Friends</a></li>
<li><a href="#tabProfile" data-toggle="tab">My Profile</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tabWelcome">
welcome
</div>
<div class="tab-pane" id="tabProject">
project
<button id="button" class="btn">Create Project</button>
</div>
<div class="tab-pane" id="tabEmail">
email
</div>
<div class="tab-pane" id="tabProfile">
profile
</div>
</div>
</div>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/js/bootstrap.min.js"></script>
<script>
document.getElementById("button").addEventListener("click", function() {
$('#mainTabs').load($('li.active a[data-toggle="tab"]').attr('href'));
}, false);
</script>
</body>
</html>这个想法是,当点击第二个选项卡上的“项目”按钮时,它应该重新加载该选项卡,但它会重新加载“欢迎”选项卡。
任何建议都很感谢!
发布于 2013-12-05 19:01:25
我必须实现一个非常类似的功能。
基本上,您需要获得当前选项卡“停用”,并再次显示它。
$(document).on('click', '#refresh', function () {
var $link = $('li.active a[data-toggle="tab"]');
$link.parent().removeClass('active');
var tabLink = $link.attr('href');
$('#mainTabs a[href="' + tabLink + '"]').tab('show');
});有关工作演示,请参阅我的jsFiddle。
请注意,演示使用的是Bootstrap3,因此使用shown.bs.tab事件来显示选项卡加载时的时间。
https://stackoverflow.com/questions/15113157
复制相似问题