définir la valeur de liste déroulante par un texte en utilisant jquery

J’ai un menu déroulant comme:

 FRIEND GOOGLE AGENT 

Dans le menu déroulant ci-dessus, je connais le texte de la liste déroulante. Comment définir la valeur de la liste déroulante dans document.ready avec le texte en utilisant jquery?

C’est une méthode qui fonctionne sur la base du texte de l’option, pas de l’index. Juste testé.

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

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

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

Pour la correspondance exacte

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

contient va sélectionner la dernière correspondance qui pourrait ne pas être exacte.

 $("#HowYouKnow option[value='" + theText + "']").attr('selected', 'selected'); // added single quotes 
 $("#HowYouKnow").val("GOOGLE"); 
 var myText = 'GOOGLE'; $('#HowYouKnow option').map(function() { if ($(this).text() == myText) return this; }).attr('selected', 'selected'); 

Pour GOOGLE, GOOGLEDOWN, GOOGLEUP, c’est-à-dire un type de valeur similaire, vous pouvez essayer le code ci-dessous.

  $("#HowYouKnow option:contains('GOOGLE')").each(function () { if($(this).html()=='GOOGLE'){ $(this).attr('selected', 'selected'); } }); 

De cette manière, le nombre d’itérations de boucle peut être réduit et fonctionnera dans toutes les situations.

Le code ci-dessous fonctionne pour moi -:

 jQuery('[id^=select_] > option').each(function(){ if (this.text.toLowerCase()=='text'){ jQuery('[id^=select_]').val(this.value); } }); 

jQuery (‘[id ^ = select_]’) – Cela vous permet de sélectionner la liste déroulante où l’ID de la liste déroulante commence par select_

J’espère que ce qui précède aide!

Cheers S

essaye ça..

 $(element).find("option:contains(" + theText+ ")").attr('selected', 'selected'); 

Voici un exemple simple:

 $("#country_id").change(function(){ if(this.value.toSsortingng() == ""){ return; } alert("You just changed country to: " + $("#country_id option:selected").text() + " which carried the value for country_id as: " + this.value.toSsortingng()); }); 

Ceci est travaillé à la fois chrome et firefox

définir la valeur dans la liste déroulante.

 var given = $("#anotherbox").val(); $("#HowYouKnow").text(given).attr('value', given); 
 $("#HowYouKnow option:eq(XXX)").attr('selected', 'selected'); 

où XXX est l’index de celui que vous voulez.