it-swarm.com.de

legen Sie den Dropdown-Wert per Text mit Jquery fest

Ich habe ein Dropdown als:

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

In der obigen Dropdown-Liste kenne ich den Text der Dropdown-Liste. Wie kann der Wert des Dropdown-Menüs in document.ready mit dem Text mit Jquery eingestellt werden?

79
Prasad

Dies ist eine Methode, die auf der Option text der Option und nicht auf dem Index basiert. Gerade getestet.

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

Oder wenn es ähnliche Werte gibt (danke shanabus):

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

Für die genaue Übereinstimmung verwenden 

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

enthält die letzte Übereinstimmung, die möglicherweise nicht genau ist.

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

Bei GOOGLE, David'sLedown, GOOGLEUP oder ähnlichen Werten können Sie den folgenden Code verwenden

   $("#HowYouKnow option:contains('GOOGLE')").each(function () {

                        if($(this).html()=='GOOGLE'){
                            $(this).attr('selected', 'selected');
                        }
                    });

Auf diese Weise kann die Anzahl der Schleifeniterationen reduziert werden und funktioniert in jeder Situation.

1
juhi

Der folgende Code funktioniert für mich -:

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

jQuery ('[id ^ = select_]') - Hier können Sie die Dropdown-Liste auswählen, bei der die ID der Dropdownliste mit select_ beginnt.

Hoffe das oben genannte hilft!

Prost S

1
stevensagaar
var myText = 'GOOGLE';

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

versuche dies..

$(element).find("option:contains(" + theText+ ")").attr('selected', 'selected');
1
Divy
$("#HowYouKnow").val("GOOGLE");
1
dell

Dies ist sowohl für Chrom als auch für Firefox gearbeitet

wert in Dropdown-Box setzen.

var given = $("#anotherbox").val();
$("#HowYouKnow").text(given).attr('value', given);
0
Naveenbos

Hier ist ein einfaches Beispiel:

$("#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());
});
0
fullstacklife