2010-01-31 2 views
1

J'utilise jqueryUI pour les onglets sur une page. Je l'initialise comme ci-dessous:comment définir onglet personnalisé dans jquery ui et utiliser avec des rails

$("#tabs").tabs(); 

<div id="tabs"> 
    <ul> 

     <li><a href="#tabs-4">Part A</a></li> 
     <li><a href="#tabs-2">Part B</a></li> 
     <li><a href="#tabs-5">Part C</a></li> 
    </ul> 
    <div id="tabs-4"> 
    ..... 
    </div> 
    <div id="tabs-2"> 
    .... 
    </div> 
    <div id="tabs-5"> 
    .... 
    </div> 
</div> 

J'ai 2 questions.

  1. Comment définir l'onglet à personnaliser. dis que je veux que le deuxième onglet soit affiché en premier. $('#tabs').tabs(2) ne fonctionne pas. J'ai obtenu cela à partir de ce link

  2. Disons que je clique sur un bouton à l'intérieur de tab1. Un clic sur le bouton ramène le contrôle à une action et le contrôle revient à cette page. Lorsque le contrôle revient ... alors est-il possible de définir un onglet personnalisé? Par exemple. dans l'onglet 1 je clique sur quelque chose ... revenir à l'action ... et je veux revenir à l'onglet 2.

Répondre

1

Ceci est une façon que je le ferais:

Controller :

before_filter :set_default_tab 

def some_action 
    @tab = "tab-3" # Go to a specific tab when using this action 
    ... 
end 

private 
    def set_default_tab 
    @tab = params[:tab].blank? ? 'tab-1' : params[:tab] 
    end 

Vue:

# Use @tab in the view to set the current tab 
<li class="<%= @tab == 'tab-1' ? 'active' : ''%>"><a>Tab 1</a></li> 

# Add the :tab param to any path so the before filter sets @tab 
go_do_some_action_path(@item, :tab => 'tab-2') 
Questions connexes