Je me demandais s'il était possible d'obtenir jQuery pour sélectionner un <option>
, disons le 4ème élément, dans une liste déroulante?
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
Je veux que l'utilisateur clique sur un lien, puis que la <select>
boîte change sa valeur, comme si l'utilisateur l'avait sélectionnée en cliquant sur le <option>
.
Réponses:
Que diriez-vous
exemple sur http://www.jsfiddle.net/gaby/CWvwn/
pour les versions modernes de jquery, vous devez utiliser le
.prop()
au lieu de.attr()
exemple sur http://jsfiddle.net/gaby/CWvwn/1763/
la source
selectElement.selectedIndex = index;
est ce que Jack veut dire.selectedIndex
ne peut pas être utilisé pour une sélection multiple lorsque l'multiple
attribut est utilisé. Et la manière normale ( html ) de définir les éléments sélectionnés est l'selected
attribut desoption
éléments.selected
propriété de chaqueoptions
élément correspondant surtrue
(et éventuellement le reste surfalse
explicitement). Les sélections multiples sont assez méchantes en fait :)onchange
événement n'est jamais déclenché lorsque la valeur est modifiée par programme. Vous pouvez ajouter un.trigger('change')
à la fin pour déclencher également l'événement ( bien qu'il se déclenchera quelle que soit la valeur ayant réellement changé )La solution:
la source
selected
option dans le HTML.Les éléments de sélection HTML ont une
selectedIndex
propriété dans laquelle on peut écrire afin de sélectionner une option particulière:En utilisant du JavaScript brut, cela peut être réalisé en:
la source
.trigger()
pour cela, mais comme vous le faites déjà avec du code, il serait facile d'appeler également les gestionnaires de changement vous-même.Je le ferais de cette façon
la source
si vos options ont une valeur, vous pouvez le faire:
«select» serait l'identifiant de votre sélection ou un sélecteur de classe. ou s'il n'y a qu'une seule sélection, vous pouvez utiliser la balise telle qu'elle est dans l'exemple.
la source
Le moyen le plus simple est la
val(value)
fonction:Et pour obtenir la valeur sélectionnée, vous ne donnez aucun argument:
Aussi, si vous avez
<option value="valueToSelect">...</option>
, vous pouvez faire:DEMO
la source
Utilisez le code suivant si vous souhaitez sélectionner une option avec une valeur spécifique:
la source
la source
Je préfère nth-child () à eq () car il utilise une indexation basée sur 1 plutôt que basée sur 0, ce qui est légèrement plus facile pour mon cerveau.
la source
Avec l'élément «», nous utilisons généralement l'attribut «valeur». Cela facilitera ensuite le paramétrage:
la source
Essaye ça:
Cordialement!
la source
réponse avec identifiant:
la source
Une mise en garde ici est que si javascript surveille l'événement de changement de select / option, vous devez ajouter
.trigger('change')
pour que le code devienne.car seul l'appel
.attr('selected', 'selected')
ne déclenche pas l'événementla source