Utilisation de jQuery pour définir la sélection d'index d'une liste déroulante
J'ai vu d'autres posts ici à SO
sur ce même sujet, mais je n'ai pas trouvé une solution qui consiste à définir le sélectionner à l'aide de jQuery
.
J'ai une liste déroulante qui ressemble à ceci:
<select type="select" id="docsList" name="docsList">
<option id="defaultListItem" value="0">Select a Document...</option>
<option value="38">Document 1</option>
<option value="35">Document 2</option>
<option value="46">Document 3</option>
<option value="45">Document 4</option>
</select>
J'ai besoin de réinitialiser la liste déroulante dans un $.ajax()
succès fonction. J'ai utilisé le suivant:
$('select#docsList option:selected').val('0');
$('select#docsList').attr('selectedIndex', 0);
... et quelques autres.
Je commence à penser que ce code est très bien et j'ai autre chose sur la prévention de la réinitialisation de la liste déroulante.
OriginalL'auteur marky | 2011-06-21
Vous devez vous connecter pour publier un commentaire.
Vous êtes de compliquer à l'excès des choses. Vous n'avez pas besoin de jQuery pour obtenir/définir un
<select>
'sselectedIndex
.Lors de la définition de la valeur d'un
<select>
, appel.val()
sur le<select>
, pas sur l'un de ses<option>
s.Bon après, faut aussi noter que
selectedIndex
est une propriété.merci. Pourquoi devrait-il être relevé? Je ne vois pas ce qui ajoute. Peut-être devrait donner des détails.
Cause JQuery/JS va vous permettre de faire ce que vous voulez. Et bien il a l'air bien et très bien, quand vous goto essayer et d'utiliser la déclaration, il peut ne pas être évident jusqu'à ce que vous essayez de déboguer. L'expérience personnelle bien sûr.
OriginalL'auteur Matt Ball
$('#docsList option[value=0]').attr('selected', 'selected');
Ceci permettra de définir les
<option>
avec l'attribut valeur 0 si l'option sélectionnée.OriginalL'auteur Justin Schwartzenberger
Matt répondre a un petit défaut:
Le code ci-dessus ne fonctionne pas dans IE 9 lorsqu'il n'est pas en Mode de Compatibilité. La suite travaillé croix navigateurs pour moi:
Merci pour le pointeur dans la bonne direction, même si.
travaille dans IE11, tandis que la réponse n'a pas accepté
OriginalL'auteur Kate at LittleCollie
Vous voulez
$('select#docsList').val('0');
Voir l'exemple à: http://jsfiddle.net/uE2YN/Êtes-vous sûr que l'id dans le sélecteur correspond à l'id de votre élément select? Êtes-vous sûr que le code est en cours d'exécution après que le DOM est complètement chargé?
Salut, Désolé je ne pouvais pas répondre plus tôt. J'ai testé votre échantillon dans jsfiddle.... maintenant, je sais pourquoi, lorsque j'ai mis la valeur à 1 (juste pour voir si vous pouvez sélectionner d'autres que le premier élément) je n'ai pas ajouter de la valeur 1 à la deuxième question. En tout cas mon échantillon de travail est ceci: $('#mylistname').prop('selectedIndex', 1);
ne fonctionne pas pour moi non plus
OriginalL'auteur tvanfosson
OriginalL'auteur Yangon Tharr