Wie kann ich die ausgewählte Option einer Dropdown-Liste mit JQuery, Javascript und HTML dynamisch festlegen?

7

Aus irgendeinem Grund kann ich das nicht zur Arbeit bringen.

Meine Optionsliste wird dynamisch mit diesen Skripts gefüllt:

%Vor%

Hier ist der html:

%Vor%

Bisher ist die Ausgabe:

%Vor%

Das DOM zeigt dies:

%Vor%

Wenn jedoch die Seite geladen wird, wird in der Dropdownliste Eric Hunt nicht als vorselektiert angezeigt. Es gibt auch nichts.

wie kann ich "ausgewählt wahr" anstelle von "defaultSelected true" bekommen.

EDIT: Wie sich herausstellt, funktioniert der obige Code perfekt, dank der Hilfe von deceze und rosscj2533 Antworten von unten. Der einzige Grund, warum es für mich nicht funktioniert, ist, dass ich Ruby-Code gefunden habe, der die ausgewählten Elemente überschrieben hat.

Danke für die Hilfe von allen,

Prost

    
Eric Hunt 23.05.2017, 10:31
quelle

7 Antworten

16

Das Attribut defaultSelected ist nicht einstellbar, es dient nur zu Informationszwecken:

Zitat :

  

Die defaultSelected-Eigenschaft gibt den Standardwert des ausgewählten Attributs zurück.
  Diese Eigenschaft gibt true zurück, wenn standardmäßig eine Option ausgewählt ist, andernfalls wird false zurückgegeben.

Ich denke du willst:

%Vor%

i.e. Setzen Sie das Attribut selected des option , das Sie auswählen möchten.

Ohne zu versuchen, Ihren Code zu reparieren, hier ist ungefähr, wie ich es tun würde:

%Vor%

Sie scheinen bereits eine Menge Gepäck und Abhängigkeiten zu haben und ich kann Ihnen nicht sagen, wie Sie die ausgewählte Option am besten in Ihren Code integrieren können, ohne mehr davon zu sehen, aber hoffentlich hilft das.

    
deceze 23.02.2010, 03:47
quelle
2

Hier können Sie die ausgewählte Option eines <select> -Elements in JavaScript ändern. Sie können

verwenden

document.getElementById ('Verkäufer'). selectedIndex = 1;

Wenn Sie ihn auf 1 setzen, wird das zweite Element des Dropdown-Menüs ausgewählt. Der Select-Element-Index beginnt bei 0.

Hier ist ein Beispielcode. Überprüfen Sie, ob Sie diese Art von Ansatz verwenden können:

%Vor%     
Hetal Vora 23.02.2010 05:20
quelle
1

Entschuldige meine Unwissenheit, aber warum benutzt du $('.salesperson') anstelle von $('#salesperson') , wenn du mit einer ID arbeitest?

    
Daniel McGrath 23.02.2010 05:32
quelle
1

Dein Code funktioniert für mich. Wann wird addSalespersonOption aufgerufen? Möglicherweise liegt ein Problem mit diesem Anruf vor.

Auch etwas von Ihrem HTML ist ein bisschen aus (vielleicht kopieren / einfügen Problem?), aber das schien keine Probleme zu verursachen. Ihre Auswahl sollte wie folgt aussehen:

%Vor%

statt dessen:

%Vor%

Bearbeiten: Wann wird Ihre Optionsliste dynamisch ausgefüllt? Sind Sie sicher, dass Sie 'on' für den Wert defSales in Ihrem Aufruf an addSalespersonOption übergeben? Versuchen Sie, diesen Code zu ändern:

%Vor%

und sehen, ob die Warnung passiert und was gesagt wird, wenn es passiert.

Bearbeiten: Arbeitsbeispiel meines Tests (der Fehler: undefined stammt aus jsbin, nicht aus meinem Code).

>     
rosscj2533 24.02.2010 14:43
quelle
0

Ihre Syntax ist falsch.

Sie müssen attr mit zwei Parametern aufrufen:

%Vor%

Ihr aktueller Code weist der Variablen "selected" den Wert defaultSelected zu und übergibt diesen Wert dann an die Funktion attr , die dann den Wert des Attributs selected zurückgibt.

    
SLaks 23.02.2010 03:18
quelle
0

SCRIPT

%Vor%

HTML

%Vor%

Klicken Sie hier, um weitere Informationen

zu erhalten     
Tamilan 11.02.2017 06:10
quelle
0

Hier geht es.

%Vor% %Vor%
    
Sairam Kukadala 11.09.2017 13:59
quelle

Tags und Links