J'ai un riche: tabPanel avec plusieurs onglets. Je veux utiliser jquery pour enregistrer les changements sur chaque onglet de sorte que quand une modification est faite dans un onglet, je change l'image d'arrière-plan de l'onglet.Utilisation de jQuery RichFaces pour ajouter une autre classe à un onglet
Il ressemble à ceci:
<h:form id="form">
<rich:jQuery selector="#tab1_lbl" query="addClass('testClass')" timing="onload"/>
<rich:tabPanel switchType="client" id="tabContainer">
<rich:tab id="tab1" label="tab1" title="tab1" >
tab1
</rich:tab>
<rich:tab id="tab2" label="tab2">
tab2
</rich:tab>
</rich:tabPanel>
</h:form>
La raison pour laquelle je le sélecteur dire #tab_lbl est parce que le code HTML généré par cela ressemble à ceci:
<td id="form:tab1_lbl" class="dr-tbpnl-tb rich-tab-header dr-tbpnl-tb-act rich-tab-active " title="tab1" onmouseout="RichFaces.outTab(this);" onmouseover="RichFaces.overTab(this);">
tab1
</td>
Maintenant, j'ai aussi essayé de préciser la selector = "# form: tab_lbl", mais je n'arrive toujours pas à ajouter la classe à cet élément td. Y a-t-il une raison quelconque pour cela? Si je crée une nouvelle table sans utiliser tabfanel richfaces, je peux facilement utiliser cette façon d'ajouter des classes avec les mêmes sélecteurs, mais cela ne fonctionne tout simplement pas dans cet exemple.
Des idées? Edit: Je voudrais ajouter que si j'utilise firebug et que j'ajoute la classe à la main, j'obtiens le résultat que je recherche.