85 votes

ensemble déroulante valeur par le texte à l'aide de jquery

J'ai une liste déroulante:

<select id="HowYouKnow" >
  <option value="1">FRIEND</option>
  <option value="2">GOOGLE</option>
  <option value="3">AGENT</option></select>

Dans le déroulant ci-dessus je sais que le texte de la liste déroulante. Comment pouvez définir la valeur de la liste déroulante dans le document.prêt avec le texte à l'aide de jquery?

209voto

Peter J Points 23798

C'est une méthode qui fonctionne basé sur le texte de l'option, pas l'index. Juste testé.

var theText = "GOOGLE";
$("#HowYouKnow option:contains(" + theText + ")").attr('selected', 'selected');

Ou, si il y a des valeurs similaires (merci shanabus):

$("#HowYouKnow option").each(function() {
  if($(this).text() == theText) {
    $(this).attr('selected', 'selected');            
  }                        
});

15voto

Parham Points 338

Pour la correspondance exacte utilisation

    $("#HowYouKnow option").filter(function(index) { return $(this).text() === "GOOGLE"; }).attr('selected', 'selected');

contient va choisir le dernier match qui pourrait ne pas être exact.

5voto

Vinay saini Points 41
$("#HowYouKnow option[value='" + theText + "']").attr('selected', 'selected'); // added single quotes

2voto

Matthew Feerick Points 11
var myText = 'GOOGLE';

$('#HowYouKnow option').map(function() {
    if ($(this).text() == myText) return this;
}).attr('selected', 'selected');

1voto

dell Points 31
$("#HowYouKnow").val("GOOGLE");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X