3 Stimmen

Wie wähle ich eine Option aus einem Dropdown-Menü mit genauem Text aus?

Ich möchte dem Benutzer die Möglichkeit geben, in ein Textfeld einzugeben, in einem Dropdown-Menü nachzuschlagen und es auszuwählen. Ich habe jedoch das Objekt selbst und nicht seinen Namen.

Wenn Sie derzeit die Eingabetaste im Textfeld drücken, wird folgender Code ausgeführt

$(this).prev().find('option:contains(\'editboxValue\')').attr('selected', 'selected');

aber der obige Code wählt nur Text2 aus. Der folgende Code funktioniert gut, aber er sieht unordentlich aus!

$(this).prev().find("option").each(function(){ if ($(this).text() == 'editboxValue') $(this).attr("selected","selected");});

Gibt es eine bessere Möglichkeit, ihn zu schreiben?

<select>
  <option>Text</option>
  <option>Text1</option>
  <option>Text2</option>
</select>
<input type="text">

3voto

BraveNewMath Punkte 7570

Um die Option über den Text der Dropdown-Liste auszuwählen, verwenden Sie Folgendes

var findText = $('#textBoxId').val();
$('#dropDownList option').
    filter(function () {return ($(this).text() == findText); })).
    attr('selected', 'selected');

0voto

Teun Pronk Punkte 1357

Geben Sie der Auswahl eine ID oder Klasse und den Optionen die ID, die Ihrem Text entspricht. Einfach zu machen, wenn Sie die Optionen generieren. Alles, was Sie dann tun müssen, ist dies:

var myId = 'GetTheIdYouNeed'
$('.mySelect').find(myId);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X