2009-07-27 9 views
2

J'ai lu la documentation de Jquery UI Tabs (1.7) et je crois que je suis un peu dans la tête avec les onglets de Jquery en termes d'événements spécifiques quand un onglet spécifique est cliqué.Jquery UI Tabs: Aide pour commencer avec les événements

J'ai les onglets de base qui fonctionnent, et je voudrais simplement mettre l'accent sur une zone de texte quand un onglet spécifique est sélectionné.

L'état Docs UI vous sélectionnez Gérer les événements via:

$('.selector').tabs({ 
    select: function(event, ui) { ... } 
}); 

Je ne suis pas sûr de ce que les moyens ci-dessus. J'ai lu quelques autres exemples ici à stackoverflow, spécifiquement example. Malheureusement, la démo ne fonctionne plus dans la réponse fournie.

Mon code actuel pour la création et la sélection d'un onglet spécifique en utilisant PHP est:

$("#tabs").tabs(); 
$("#tabs").tabs('option', 'selected', <?php echo $tabID-1; ?>); 

Ce qui fonctionne très bien. Je voudrais ajouter la possibilité lorsque le 4ème onglet est sélectionné, je mets l'accent sur une zone de texte, quelque chose de similaire à:

$('#subject').focus(); 

Répondre

6

Ce que vous faites est de donner $ (« sélecteur. »). tabs() fonctionne un tableau associatif (en JavaScript il s'appelle simplement object). Il est important, que JavaScript utilise le fait, que vous pouvez attribuer des fonctions aux variables très largement. S'il est plus facile pour vous de lire et de comprendre que vous pouvez essayer ceci:

var tab_select_function = function(event, ui) 
{ 
    // Objects available in the function context: 
    // ui.tab  // anchor element of the selected (clicked) tab 
    // ui.panel // element, that contains the selected/clicked tab contents 
    // ui.index // zero-based index of the selected (clicked) tab 
    alert("Tab with index " + ui.index + " clicked!"); 
}; 

$('#tabs').tabs({ 
    select: tab_select_function 
}); 
+0

Daff, j'ai mis votre suggestion, et je me dirige dans la bonne direction. Dans la fonction tab_select_function, j'ai ajouté un peu de code pour saisir quel onglet a été sélectionné et pour le moment je l'ai juste alerté. Le problème que j'obtiens est qu'il alerté l'index de tabulation que je viens, pas l'onglet réel que j'ai cliqué juste dessus! var tab_select_function = fonction (événement, ui) { var $ tabs = $ ('# tabs'). Tabs(); var selected = $ tabs.tabs ('option', 'selected'); alerte (sélectionné); }; – Ryan

+0

J'ai copié une description de la documentation et l'objet ui devrait en fait donner en paramètre ce dont vous avez besoin. – Daff

+0

Merci beaucoup Daff! – Ryan

Questions connexes