2010-01-07 3 views
3

J'ai plusieurs onglets. Chaque onglet comporte plusieurs éléments imbriqués contenant des éléments d'entrée de case à cocher. Je dois pouvoir sélectionner toutes/aucune des cases à cocher dans l'onglet sélectionné. J'espérais que cela fonctionnerait:jquery cochez toutes les cases dans un onglet

$("#tabs").tabs().data("selected.tabs").('input[@type=checkbox]').attr('checked', 'checked'); 

Mais ce n'est pas le cas. Je pensais que je pourrais obtenir l'élément de l'onglet sélectionné et ensuite itérer tous les enfants de cet élément à la recherche de cases à cocher. Cependant, j'ai du mal à comprendre comment obtenir l'élément (pas l'index) de l'élément sélectionné. Si quelqu'un sait comment, s'il vous plaît faites le moi savoir.

EDIT:

Je suppose tout le monde connaissait la structure des onglets jquery.
Les onglets sont dans une UL ci-dessus et séparée des DIV qui contiennent effectivement le contenu et les cases à cocher de l'onglet.

<ul><li>tab0</li>... </ul><div id="tab0"> checkboxes here </div> 

J'ai besoin de trouver l'onglet sélectionné, puis de trouver la div correspondant à l'onglet. Je pense que la div est appelée la propriété du panneau mais je ne peux pas comprendre comment accéder à cette propriété du panneau une fois que je trouve l'onglet. S'il vous plaît voir jquery tabs

+0

ce qui se passe quand vous faites console.log ($ ("# onglets") des données ("sélectionné .tabs ")); ? – dmitrig01

+0

Le '@' est obsolète sur les sélecteurs d'attribut. Quelle version de Jquery utilisez-vous? – Joel

+0

1.3.2 noyau et 1.7.2 de l'interface utilisateur. Je suis nouveau à jquery. J'ai trouvé ce code sur un ancien billet de blog – Dave

Répondre

2

Essayez:.

$("#tabs").tabs().data("selected.tabs").find(':checkbox').attr('checked', 'checked'); 
+0

vous m'avez trouvé sur le bon chemin .. merci! la solution complète est: $ ("# tabs div.ui-tabs-panel: non (.ui-tabs-hide)"). find (': checkbox'). attr ('cochée', 'cochée') ; – Dave

2

Typiquement, un onglet "sélectionné" est livré avec un nom de classe spécifique pour l'identifier comme l'onglet sélectionné. Vous pouvez facilement identifier ce nom de classe via firebug, ou un équivalent. En supposant que classname est 'sélectionné', nous pourrions faire ce qui suit:

$("#tabs .selected :checkbox:checked"); 
Questions connexes