J'ai un menu déroulant comme:
<select id="HowYouKnow" >
<option value="1">FRIEND</option>
<option value="2">GOOGLE</option>
<option value="3">AGENT</option></select>
Dans la liste déroulante ci-dessus, je connais le texte de la liste déroulante. Comment définir la valeur du menu déroulant dans document.ready avec le texte utilisant jquery?
C'est une méthode qui fonctionne en fonction du text 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 l'utilisation exacte du match
$("#HowYouKnow option").filter(function(index) { return $(this).text() === "GOOGLE"; }).attr('selected', 'selected');
contient va sélectionner le dernier match qui pourrait ne pas être exact.
$("#HowYouKnow option[value='" + theText + "']").attr('selected', 'selected'); // added single quotes
Pour GOOGLE, GOOGLEDOWN, GOOGLEUP, c’est le même type de valeur que vous pouvez essayer ci-dessous code
$("#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_]') - Ceci vous permet de sélectionner un menu déroulant où l'ID du menu déroulant commence par select_
J'espère que ce qui précède aide!
Salutations S
var myText = 'GOOGLE';
$('#HowYouKnow option').map(function() {
if ($(this).text() == myText) return this;
}).attr('selected', 'selected');
essaye ça..
$(element).find("option:contains(" + theText+ ")").attr('selected', 'selected');
$("#HowYouKnow").val("GOOGLE");
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);
Voici un exemple simple:
$("#country_id").change(function(){
if(this.value.toString() == ""){
return;
}
alert("You just changed country to: " + $("#country_id option:selected").text() + " which carried the value for country_id as: " + this.value.toString());
});