À l'aide de jQuery, comment vérifiez-vous si une option est sélectionnée dans un menu de sélection et, dans le cas contraire, attribuez l'une des options comme sélectionnée.
(La sélection est générée avec un labyrinthe de fonctions PHP dans une application dont je viens d'hériter, c'est donc une solution rapide pendant que je me concentre sur celles-ci :)
javascript
jquery
forms
dom
html-select
meleyal
la source
la source
Réponses:
Bien que je ne sois pas sûr de ce que vous voulez accomplir, ce morceau de code a fonctionné pour moi.
la source
$("#mySelect").val(3);
$("#mySelect option")[2]['selected'] = true;
compris cela après avoir étudié les structures des objets dans Firebug.$("#mySelect").prop("selectedIndex", 2)
Pas besoin d'utiliser jQuery pour cela:
la source
Cette question est ancienne et a beaucoup de points de vue, donc je vais juste jeter quelques trucs là-bas qui aideront certaines personnes, je suis sûr.
Pour vérifier si un élément sélectionné contient des éléments sélectionnés:
ou pour vérifier si une sélection n'a rien de sélectionné:
ou si vous êtes dans une boucle quelconque et que vous souhaitez vérifier si l'élément actuel est sélectionné:
pour vérifier si un élément n'est pas sélectionné dans une boucle:
Ce sont quelques-unes des façons de procéder. jQuery a plusieurs façons d'accomplir la même chose, vous choisissez donc généralement celle qui semble la plus efficace.
la source
la réponse de lencioni est ce que je recommanderais. Vous pouvez modifier le sélecteur de l'option
('#mySelect option:last')
pour sélectionner l'option avec une valeur spécifique à l'aide de "#mySelect option[value='yourDefaultValue']
". Plus sur les sélecteurs .Si vous travaillez beaucoup avec des listes sélectionnées sur le client, consultez ce plugin: http://www.texotela.co.uk/code/jquery/select/ . Jetez un œil à la source si vous souhaitez voir d'autres exemples d'utilisation de listes sélectionnées.
la source
Voici ma fonction changeant l'option sélectionnée. Cela fonctionne pour jQuery 1.3.2
la source
la source
Facile! La valeur par défaut devrait être la première option. Terminé! Cela vous mènerait à un JavaScript discret, car JavaScript n'est pas nécessaire :)
JavaScript discret
la source
J'ai déjà rencontré le plugin texotela mentionné, qui m'a permis de le résoudre comme ceci:
la source
Regardez l' index selectedIndex de l'
select
élément. BTW, c'est une chose DOM ordinaire, pas spécifique à JQuery.la source
C'était un script rapide que j'ai trouvé qui fonctionnait ... Le résultat est assigné à une étiquette.
la source
Vous en faites trop pour la sélection. Sélectionnez simplement par valeur:
la source
la source
J'ai trouvé un bon moyen de vérifier si l'option est sélectionnée et de sélectionner une valeur par défaut lorsqu'elle ne l'est pas.
Si #some_select n'a pas l'option sélectionnée par défaut, alors .val () n'est pas défini
la source
la source
C'est une autre façon de vérifier qu'une option est sélectionnée ou non dans jquery. Cela renverra Boolean (True ou False).
[1] est l'index de l'option de boîte de sélection
la source
Modifiez l'événement sur la boîte de sélection pour déclencher et une fois qu'il le fait, tirez simplement l'attribut id de l'option sélectionnée: -
la source
Je cherchais juste quelque chose de similaire et j'ai trouvé ceci:
Cela trouve tous les menus de sélection dans la classe qui n'ont pas déjà une option sélectionnée et sélectionne l'option par défaut ("2" dans ce cas).
J'ai essayé d'utiliser
:selected
au lieu de[selected]
, mais cela n'a pas fonctionné car quelque chose est toujours sélectionné, même si rien n'a l'attributla source
Si vous devez vérifier explicitement chaque option pour voir si certaines ont l'attribut "sélectionné", vous pouvez le faire. Sinon,
option:selected
vous obtiendrez la valeur de la première option par défaut.la source