Proghiphop
    Login  

Wie mache ich "select: selected" in select mit js?

Advertisement

So verwende ich ein js Skript, um die Benutzer Land und Zustand zu erhalten. Wenn der Benutzer seine Einstellungen besucht, möchte ich, dass das Land, das er in der db gespeichert hat, direkt in der Dropdown-Liste angezeigt wird, wenn er das Settingspage besucht.

<Select action = "" name = "country" id = "country">
</ Select>

<Select action = "" name = "state" id = "state">
</ Select>

<Script language = "javascript">
Bevölkerung ("Land", "Staat");
</ Script>

Die Leute sagen mir zu benutzen
Document.getElementById ('country') value = <db value>; Aber ich weiß nicht, wie zu: / Ich habe noch nie ...
Könnte jemand mir bitte zeigen, wie dies zu tun?


Wie Matthew Fedak erwähnt, können Sie fin Ihre Antwort in Stack Overflow Website besser.
Aber die Art und Weise können Sie es tun, indem Sie:
<Select id = "combobox"> ... </ select>
Dann, wenn Sie Form verwenden, verwenden Sie den folgenden Code:
$ ("# Combobox"). Val (idFromDB);


Andere haben gezeigt, wie es mit der JQuery-Erweiterung zu Javascript hinzugefügt. (Der Code mit der $ Notation) Hier ist, wie es mit Javascript ohne Erweiterungen zu tun.

Zuerst müssen Sie die Reihenfolge der Optionen in Ihrer Auswahl kennen. Dann müssen Sie einen Weg zu wissen haben (vielleicht in Ihrem db Ergebnis), wo in dieser Reihenfolge das Land des Kunden wohnt. Schließlich in Ihrem Javascript, verwenden Sie die selectedIndex-Eigenschaft des select -Tags. Dies ermöglicht es Ihnen, die Optionen in der Auswahl wie ein Array zu behandeln.

Beispiel:
Um es einfach zu machen, nehmen wir an, Sie haben 3 Länder in Ihrer Liste: US, Großbritannien und Kanada. Ihre Auswahl sieht wie folgt aus:

  <Option name = "country"> <option value = "0"> US </ option> <option value = "1"> UK </ option> <option value = "2"> Canada </ Option> </ select> aus 

Du hast dein db entworfen, um die Nummer 0 mit "US", 1 mit "UK" und 2 mit "Canada" zu assoziieren. (Denken Sie daran, in JavaScript, Indizes beginnen mit Null nicht ein). Sagen wir, Kunde Bob ist aus dem Vereinigten Königreich, so dass Ihre db zurückgibt 1.

In einem Skript-Block am unteren Rand Ihrer Website haben Sie:

  <Script type = "text / javascript"> var sel = document.getElementById ('country');  Sel.selectedIndex = [Indexnummer von db];  // db gibt 1 für Bob </ script> zurück 

Die HTML-Seite wird durch den Browser von oben nach unten mit der Standard-Option ausgewählt gerendert werden. Dann wird Ihr Script-Block ausgeführt.

Für den Kunden Bob setzt er den selektierten Index auf 1 und ändert die ausgewählte Option der Länderauswahl auf die zweite (Index 1) Option UK. Dies geschieht in weniger als einer Sekunde, so dass Sie nicht einmal sehen könnte es ändern; Es schaut zum Benutzer wie das korrekte Land war magisch vorgewählt.


Folgender Code erfordert JQuery

Verwenden des Werts
$('select[name="options"]').find('option[value="3"]').attr("selected",true);
oder
$("#selectId").val("3");

Verwenden des Textes
$('select[name="options"]').find('option:contains("Pakistan")').attr("selected",true);

So deaktivieren Sie die ausgewählte Option
$('option:selected', 'select[name="options"]').removeAttr('selected');


Warum nicht stellen Sie diese Frage auf einer Website gewidmet Web-Entwicklung / Programmierung Fragen wie Stack Overflow?

In der Tat werden Sie wahrscheinlich schon die Antwort darauf finden, wenn Sie suchen.

BTW: Es gibt kein Action-Attribut auf dem HTML-Tag <select>

Reproduced please specify from Proghiphop and this article link: Proghiphop » Wie mache ich "select: selected" in select mit js?

Comments