Je suis novice chez JavaScript et jQuery. Je veux montrer un combobox-A, qui est un HTML <select>
avec son sélectionnéid
et son contenu à l'autre endroit sur onChange ().
Comment puis-je passer la liste déroulante complète avec sa sélection id
, et comment puis-je passer d'autres paramètres en feu de l'événement onChange?
Réponses:
L'exemple ci-dessus vous obtient la valeur sélectionnée de la zone de liste déroulante lors d'un événement OnChange .
la source
getComboA()
estvar value = sel.value;
Une autre approche qui peut être pratique dans certaines situations consiste à transmettre
<option />
directement la valeur de l'élément sélectionné à la fonction comme ceci:la source
Pour savoir comment le faire dans jQuery:
Vous devez également savoir que Javascript et jQuery ne sont pas identiques. jQuery est un code JavaScript valide, mais tout JavaScript n'est pas jQuery. Vous devez rechercher les différences et vous assurer que vous utilisez celui qui convient.
la source
htmlData.push($('<select id="choose" name="choose">'));
devrait faire l'affaire (vous avez poussé une chaîne au lieu d'un nœud complet auparavant). > 6 ans se sont écoulés ...Solution JavaScript
ou
ou
la source
J'ai trouvé la réponse de @ Piyush utile, et pour ajouter à cela, si vous créez par programme une sélection, il existe un moyen important d'obtenir ce comportement qui peut ne pas être évident. Disons que vous avez une fonction et que vous créez une nouvelle sélection:
Le comportement normal peut être de dire
Mais cela ne vous permet pas vraiment de spécifier cet argument passé, vous pouvez donc le faire à la place:
Et vous pouvez définir le paramètre. Si vous le faites de la première manière, l'argument que vous obtiendrez à votre
onchange
fonction dépendra du navigateur. La deuxième façon semble fonctionner très bien entre les navigateurs.la source
eval
conversion de chaîne en code diabolique n'est pas nécessaire. En fait ,newSelect.onchange = changeitem;
fonctionne très bien si vous changeitem comme réécrivezvar changeitem = function () {console.log(this.selectedIndex); };
(utilisation authis
lieu d'un argument de fonction). Ou, laissezchangeitem
tel quel et écriveznewSelect.onchange = function () {changeitem(this); };
.Solution jQuery
Comment obtenir la valeur texte d'une option sélectionnée
Les éléments de sélection ont généralement deux valeurs auxquelles vous souhaitez accéder.
Il y a d'abord la valeur à envoyer au serveur, ce qui est simple:
La seconde est la valeur de texte de la sélection.
Par exemple, en utilisant la case de sélection suivante:
Si vous vouliez obtenir la chaîne "Mr" si la première option était sélectionnée (au lieu de "1"), vous le feriez de la manière suivante:
Voir également
la source
Cela m'a aidé.
Pour sélectionner:
Pour radio / case à cocher:
la source
Vous pouvez essayer le code ci-dessous
la source
ce code une fois que j'écris pour expliquer simplement l'événement onChange de select, vous pouvez enregistrer ce code en html et voir la sortie cela fonctionne.et facile à comprendre pour vous.
la source
Au cas où quelqu'un chercherait une solution React sans avoir à télécharger des dépendances supplémentaires, vous pourriez écrire:
Assurez-vous de lier la fonction changé () dans le constructeur comme:
la source
Cela a fonctionné pour moi onchange =
setLocation($(this).val())
Ici.
la source