Javascript ‚wählen‘ auf Änderung zu verankern gehen (Anker-ID ist der Auswahlwert)

stimmen
1

Ich habe mein Skript eine Drop-Down-Box zu schaffen (Auswahl), und bevölkert die Werte mit Elementen aus einem Array, die ich durchgeschleift. Die Werte dieser Elemente sind auch die gleichen wie die IDs für Ankerpunkte auf der ganzen Seite. Ich versuche, es so zu machen, wenn die Auswahl geändert wird, es zum Ankerpunkt geht, der den Wert des ausgewählten übereinstimmt.

error_anchor ist ein Array von Objekten, wobei die Werte auch die gleichen wie die Anker-IDs sind

for (var i = 0; i < error_anchor.length; i++) {
  var option = document.createElement(option);

  option.setAttribute(value, error_anchor[i]);
  option.text = error_anchor[I];
  option.onChange=window.location.hash=this.value;

  selectList.appendChild(option);
};

Dies gilt nicht einen Fehler aus , aber es macht nichts , wenn ich den Auswahlwert ändern. Ich lese Online über die Verwendung this.valueund dachte , es wäre den ausgewählten Wert verwenden, aber vielleicht war es nur ein Platzhalter in Beispiel jemand anderes?

Ich versuchte , die Platzierung onChangeLinie außerhalb der Schleife, wie ich es nehme nicht drin sein muß, aber es scheint nicht , einen Unterschied gemacht zu haben.

Würde schätzen die Hilfe! Vielen Dank

Veröffentlicht am 09/10/2019 um 18:53
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Der Ereignisname ist onchangenicht onChangeund Sie sollten eine Funktion , um es (kein String) zuweisen.

Auch sollte die Veranstaltung auf der Auswahl, nicht die Optionen. this.valuewird die aktuelle gewählte Option Wert enthalten.

Sie können eine siehe Demo hier

Beantwortet am 09/10/2019 um 18:58
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more