Javascript «επιλέξτε» για την αλλαγή του πάει να αγκυροβολήσει (άγκυρα id είναι η επιλογή αξία)

ψήφοι
1

Έχω το σενάριό μου δημιουργώντας ένα αναπτυσσόμενο πλαίσιο (επιλέξτε) και τη συμπλήρωση των αξιών με τα στοιχεία από μια σειρά που έχω τυλιγμένο μέσα. Οι τιμές αυτών των στοιχείων είναι επίσης το ίδιο με το αναγνωριστικό για κόμβους σε όλη τη σελίδα. Προσπαθώ να το κάνει έτσι όταν η επιλογή αλλάζει, πηγαίνει στο σημείο αγκύρωσης που ταιριάζει με την τιμή της επιλογής.

error_anchor είναι μια σειρά από στοιχεία, όπου οι τιμές είναι επίσης τα ίδια με τα id άγκυρας

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);
};

Αυτό δεν ρίξει ένα λάθος, αλλά δεν κάνει τίποτα όταν μπορώ να αλλάξω την επιλογή αξία. Διάβασα στο διαδίκτυο σχετικά με τη χρήση this.valueκαι κατάλαβα ότι θα χρησιμοποιήσει την επιλεγμένη τιμή, αλλά ίσως ήταν απλά ένα σύμβολο κράτησης θέσης στο παράδειγμα κάποιου άλλου;

Προσπάθησα τοποθέτηση της onChangeγραμμής έξω από το βρόχο, όπως υποθέτω ότι δεν χρειάζεται να είναι εκεί, αλλά δεν φαίνεται να κάνει τη διαφορά.

Θα εκτιμούσα τη βοήθεια! Ευχαριστώ

Δημοσιεύθηκε 09/10/2019 στις 18:53
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

Το όνομα εκδήλωσης είναι onchangeόχι onChangeκαι θα πρέπει να αναθέσετε μια λειτουργία (και όχι ένα string).

Επίσης, το γεγονός θα πρέπει να είναι τα επιλεγμένα, όχι τις επιλογές. this.valueθα περιέχει την τρέχουσα επιλεγμένη τιμή επιλογή.

Μπορείτε να δείτε ένα demo εδώ

Απαντήθηκε 09/10/2019 στις 18:58
πηγή χρήστη

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