J'essaie de récupérer et de définir la valeur sélectionnée d'un élément de sélection (liste déroulante) avec jQuery.
pour récupérer j'ai essayé $("#myId").find(':selected').val()
, ainsi que $("#myId").val()
mais les deux renvoient undefined.
Tout aperçu de ce problème serait très apprécié.
Réponses:
La façon dont vous l'avez est correcte pour le moment. Soit l'identifiant du select n'est pas ce que vous dites, soit vous rencontrez des problèmes dans le dom.
Vérifiez l'identifiant de l'élément et vérifiez également que votre balisage est validé ici au W3c.
Sans un dom valide, jQuery ne peut pas fonctionner correctement avec les sélecteurs.
Si les identifiants sont corrects et que votre dom valide, les conditions suivantes s'appliquent:
Pour lire, sélectionnez la valeur de l'option
Pour définir la valeur de l'option de sélection
Pour lire le texte sélectionné
la source
pour obtenir / définir la propriété selectedIndex réelle de l'élément select, utilisez:
la source
.attr()
et.prop()
ne le sont pas non plus. Cela fonctionnera dans certains cas où un attribut est également une propriété, par exemple.attr('id')
est égal à.prop('id')
. Dans ce cas,.prop('selectedIndex')
est égal à.get(0).selectedIndex
.$('#myId').val()
devrait le faire, faute de quoi j'essaierais:la source
Lors de la configuration avec
JQM
, n'oubliez pas de mettre à jourUI
:la source
$("#myId").val()
devrait fonctionner simyid
l'ID d'élément select!Cela définirait l'élément sélectionné:
$("#myId").val('VALUE');
la source
Supposons que vous ayez créé une liste déroulante en utilisant la balise SELECT comme suit,
Maintenant, si vous voulez voir quelle est la valeur sélectionnée dans la liste déroulante à l'aide de JQuery, mettez simplement la ligne suivante pour récupérer cette valeur.
cela fonctionnera très bien.
la source
Je sais que c'est vieux, mais je viens de passer un bon moment avec Razor, je ne pouvais pas le faire fonctionner, peu importe mes efforts. Continué à revenir comme "indéfini", peu importe si j'ai utilisé "texte" ou "html" pour l'attribut. Enfin, j'ai ajouté l'attribut "data-value" à l'option et je l'ai lu très bien.
la source
$ ("Option #myId: sélectionnée") .text (); vous donnera le texte que vous avez sélectionné dans l'élément déroulant. de toute façon, vous pouvez le changer en .val (); pour en avoir la valeur. vérifiez le codage ci-dessous
la source
Essaye ça
la source