Comment faire pour obtenir l'option sélectionnée à partir de p:selectOneRadio à l'aide de javascript
Comment obtenez-vous qui la radio est sélectionnée dans p:selectOneRadio
à l'aide de javascript/jquery ?
Depuis le p:selectOneRadio
utilise pas de radio tags, je n'ai aucune idée de comment faire pour obtenir l'objet d'une option à l'aide des sélecteurs CSS.
<p:selectOneRadio onchange="reactToChangedRadio()" >
<f:selectItem itemLabel="....." itemValue="..." />
<f:selectItem itemLabel="....." itemValue="..." />
<f:selectItem itemLabel="....." itemValue="..." />
</p:selectOneRadio>
J'ai mis à jour ma réponse, désolé pour le créé de la confusion en raison du manque de temps...
OriginalL'auteur Rajat Gupta | 2011-12-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le jquery solution ou choisir un simple javascript solution:
Voir le post de CodeRanch: http://www.coderanch.com/t/210871/JSF/java/selectOneRadio-javascript-value
Mise à JOUR:
Je dois avouer que je suis dans un département, et je suis désolé mais hier je n'ai pas eu beaucoup de temps...
Je dois dire que je n'ai pas été en mesure d'obtenir la valeur du radio à l'ancienne façon javascript:
D'autre part, cette codée en dur solution fonctionne:
,mais bien sûr, en raison de Primefaces de puissance, il y a une solution côté serveur(à l'aide de ReuqestContext composant):
Le côté serveur de code:
la ReuqestContext composant peut être trouvé ici: http://www.primefaces.org/showcase-labs/ui/requestContext.jsf (uniquement pour les PF 3)
Oui, mon mauvais, il devrait contenir une boucle for et la place du zéro devrait être la variable d'itérateur...
pour obtenir l'élément coché, ce qui pour parcourir & comment?
Juste une itération sur les boutons radio qui vous obtenu à partir de la DOM. Vous pourriez vouloir reformuler votre question de laisser JSF du contexte et de ne poster que le JSF HTML générée code de balisage (et re-tagger la question), de sorte que JS/jQuery les utilisateurs peuvent vous aider plus facilement.
J'ai mis à jour ma réponse, désolé pour le créé de la confusion en raison du manque de temps...
OriginalL'auteur spauny
Si vous avez juste besoin de la valeur de l'élément sélectionné dans JS vous pouvez appeler votre fonction avec
this.value
paramètre.Regardez à l'intérieur de PF HTML généré:
pour chaque
selectItem
.Donc
this.value
fonctionne parfaitement, pas besoin de chercher pourchecked
:Ou vous pouvez passer
this.id
en fonction de l'utiliser dans le sélecteur jQuery.OriginalL'auteur Sasa7812
Le problème pourrait être résolu facilement avec jquery find() en utilisant getJQ méthode de pf widget:
nous pouvons obtenir la valeur en cours en appelant le:
OriginalL'auteur Dmitry Smirnov
vous avez yo utiliser le :vérifié pseudo-sélecteur:
Plus d'infos ici: http://api.jquery.com/checked-selector/
OriginalL'auteur Pavel Nikolov
Tout ce que vous devez faire est de désactiver tous les boutons radio à l'exception de celui qui a été vérifiée comme:
Et voici votre script:
}
OriginalL'auteur Mj6
Il y a une ligne de solution à cette question qui gère également le cas où vous avez plusieurs selectOneRadio entrées sur une page.
Si votre formulaire est appelé
myForm
, et votre selectOneRadio d'entrée a l'idmyRadio
, puis la ligne suivante va obtenir la valeur sélectionnée:Cela fonctionne parce que toutes les entrées internes sont donné un identifiant commençant par
myForm:myRadio
. La ligne ci-dessus trouve toutes les entités commençant par cette chaîne, et ne sélectionne que les cochée. Depuis un seul bouton radio peut être vérifié une fois, ce qui donne le bouton d'option sélectionné. Ensuite, nous pouvons simplement prendre sa valeur.OriginalL'auteur squaregoldfish