Comment puis-je obtenir l'élément sélectionné par son nom, puis obtenir la valeur sélectionnée à partir d'une liste déroulante en utilisant jQuery?
Je suis en mesure de trouver mon sélectionner l'élément par le nom, mais je vais avoir du mal à trouver la valeur sélectionnée est associée.
Voici mon code ci-dessous:
<select name="a[b]" onchange='mySelectHandler("a[b]")'>
<option value='Choice 1'>Choice 1</option>
<option value='Choice 2'>Choice 2</option>
</select>
alors, dans mon gestionnaire, je suis en utilisant:
function mySelectHandler(name){
var mySelect = $('select[name=' + name)
//try to get selected value
//alert ("selected " + mySelect.val())
console.log("object "+ mySelect.toSource());
}
Le résultat de mon impression du journal est:
objet ({longueur:0, prevObject:{0:({}), le contexte:({}), longueur:1}, contexte:({}), sélecteur:"select[name=un[b]"})
Aucune idée de comment faire cela?
source d'informationauteur dt1000
Vous devez vous connecter pour publier un commentaire.
Le sélecteur est un peu hors, il manque la fin
]
vous pouvez aussi avoir besoin de mettre des guillemets autour du nom, comme ceci:
Essayez ceci:
Cela permet d'obtenir la valeur sélectionnée de votre menu.
Supprimer la
onchange
événement à partir du code HTML et de le lier à votre document prêt événementet Script
Échantillon de travail : http://jsfiddle.net/gLaR8/3/
au lieu de
utilisation
MrOBrian expositions de la réponse de pourquoi votre code ne fonctionne pas, avec le manque de fuite
]
et les citations, mais voici un moyen plus facile de le faire fonctionner:Et puis:
Ou, mieux encore, supprimer la ligne de gestionnaire d'événements tout à fait et lier le gestionnaire d'événements avec jQuery:
Ce dernier aurait besoin d'être dans un document.prêt gestionnaire ou dans un bloc de script qui s'affiche après le sélectionner l'élément. Si vous souhaitez exécuter la même fonction pour les autres sélectionne simplement de changer le sélecteur de quelque chose qui s'applique à tous, par exemple, tous sélectionne serait
$('select')
ou le tout avec une classe particulière serait$('select.someClass')
.Essayez ceci pour obtenir la valeur de sélectionner l'élément par le Nom de l'Élément
ou vous pouvez simplement faire
À ajouter aux réponses ici, s'assurer il n'y a pas d'espace entre le
select
et[name...
Mal:
Droite: