在我的主页上,有一个指向用户显示页面的链接
<a id="event_shortcut" href="http://localhost:3000/users/1#event_tab">show events</a>
在用户的节目中,我使用了bootstrap tab,
<ul id="user_show_tabs">
<li >
<a href="#profile_tab">Profile</a>
</li>
<li>
<a href="#event_tab">Events</a>
</li>
<li class="active">
<a href="#account_tab">Account</a>
</li>
</ul>
当我点击链接时,它应该转到用户的显示页面,而事件选项卡应该是有效的。 所以在js中我确实喜欢这个,
$("#event_shortcut").live("click", function(event){
event.preventDefault();
window.location = $(this).attr("href");
$('#user_show_tabs a[href="#event_tab"]').tab('show');
});
此js代码将用户重定向到显示页面,但事件选项卡未设置焦点。 我不知道我错过了什么。救救我!
答案 0 :(得分:2)
当您重定向到另一个页面时,选项卡列表会刷新。您需要输入逻辑以仅在当前页面的选项卡上具有class="active"
,或者您需要使用tab-content
方法并将所有页面加载到单独的内容div中,因此标签实际上并没有离开他们刚刚更改的页面<div>
正在显示。
查看Bootstrap的Javascript部分以获取有关如何执行此操作的更多信息。 http://twitter.github.com/bootstrap/javascript.html#tabs
答案 1 :(得分:0)
(这是haml)
%ul
li{:class => "#{check_if_active('release')}"
= link_to "release", part_release_path(@current_organisation, @part)
和帮助
def check_if_active(tab)
case params[:controller]
when "parts"
if ['release'].include?(params[:action])
tab == "properties" ? "active" : "null"
end
end