twitter bootstrap选项卡通过外部链接访问

时间:2012-04-06 03:44:06

标签: javascript tabs twitter-bootstrap

我在Rails 3.0应用程序上设置了twitter bootstrap,并且有一个带有三个选项卡的页面(edit.html.haml)。这是我的代码(我正在使用haml):

.tabbable
    %ul.nav.nav-tabs
      %li.active
        %a{"data-toggle" => "tab", :href => "#1"} 
          %i.icon-pencil
          Edit Profile
      %li
        %a{"data-toggle" => "tab", :href => "#2"} 
          %i.icon-lock
          Privacy Preferences
      %li
        %a{"data-toggle" => "tab", :href => "#3"} 
          %i.icon-cogs
          Site Preferences
    .well-two  
      .tab-content
        #1.tab-pane.active
          %p ...
        #2.tab-pane
          %p ...
        #3.tab-pane
          %p ...

当我在编辑页面上时,标签工作正常(我可以在它们之间移动,并且它们应该响应);但是,假设我在显示页面(show.html.haml)并且有一个按钮说:点击此处更改您的隐私设置(即:转到编辑页面上的第二个标签页)...什么代码是否有必要链接到隐私设置(#2)内容?

我有以下代码:

=link_to "#{raw('<i class="icon-plus-sign icon-large"></i>')} Privacy Settings".html_safe, edit_path(current_profile, :anchor => "2")

但它不起作用......它将我带到编辑页面,但不加载隐私设置数据(即#2下的数据)。

注意:即使我在修改页面上,并将我的网址从http://localhost:3000/users/1/edit更改为http://localhost:3000/users/1/edit#2,也不会将我带到第二个标签页。

我错过了任何额外的JS吗?非常感谢您的帮助。此外,您的答案不一定要符合Haml或Rails ......我可以重新编写它们,我只是寻求一些指导和建议。谢谢!

1 个答案:

答案 0 :(得分:0)

这段代码似乎解决了这个问题:

:javascript
  $(document).ready(function(){
    $('a[href="' + window.location.hash + '"]').click()
  });