2

私のホームページには、ユーザーのショーページへのリンクがあります

<a id="event_shortcut" href="http://localhost:3000/users/1#event_tab">show events</a>

ユーザーのショーでは、ブートストラップタブを使用しました。

<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 コードはユーザーを表示ページにリダイレクトしますが、イベント タブにはフォーカスが設定されていません。何が欠けているのかわからない。助けて!

4

2 に答える 2

2

別のページにリダイレクトすると、タブ リストが更新されます。class="active"現在のページのタブにのみロジックを配置するか、tab-contentメソッドを使用してすべてのページを個別のコンテンツ div にロードする必要があるため、タブは実際にはページを離れません。表示されるものを変更し<div>ます。

これを行う方法の詳細については、Bootstrap の Javascript セクションを参照してください。http://twitter.github.com/bootstrap/javascript.html#tabs

于 2012-08-31T12:34:37.550 に答える
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
于 2012-08-31T12:52:29.347 に答える