Il y a une liste déroulante avec 5 options. Actuellement, l'option 2 est sélectionnée. L'utilisateur sélectionne l'option 4 maintenant. L'événement ONCHANGE est tiré qui est pris dans une fonction JS en écoutant pour ONCHANGE sur la sélection. P>
Dans la fonction JS, je peux vérifier facilement l'index de l'option sélectionnée par l'utilisateur à l'aide de la propriété Y a-t-il une propriété qui persiste
fondamentalement la valeur d'origine, c'est-à-dire
Option 2 Dans ce cas. P>
blockQuote>
3 Réponses :
Non, vous auriez besoin de persister que vous-même dans une variable JS. P>
Tout comme concept, je mets ensemble ce qui suit - il peut très bien y avoir une meilleure façon de le faire:
var colors = document.getElementById("colors"); colors.vals = []; colors.setPrevious = function() { this.vals.unshift(this.selectedIndex); } colors.getPrevious = function() { return this.vals[1]; } colors.onchange = function() { this.setPrevious(); this.getPrevious(); } // set initial state colors.setPrevious();
+1: bonne idée. Vous pouvez utiliser un objet au lieu d'un tableau pour gérer plusieurs éléments de sélection. Quelque chose comme vals = {SELECT: [], SELECT2: []} code>.
++ 1. En supposant qu'ils ne sont pas toujours des défauts connus, vous auriez besoin de semer les valeurs des valeurs initiales lorsque la page se charge. Au lieu d'une variable JS pour stocker ceux-ci (ou un hachage d'entre eux), vous pouvez simplement le stocker comme un expando sur la balise Select lui-même.
Certes, certaines personnes ont des problèmes esthétiques avec «EXPERTOS», mais si vous les gardez en minuscule conformément aux normes DOM, vous ne devriez pas avoir de problème à les utiliser dans n'importe quel navigateur.
Comme indiqué par DL, vous pouvez utiliser une variable cachée simple pour contenir la valeur.Nous pouvons définir la valeur actuelle dans Varaible cachée.
p>
document.getElementById(id).selectedIndex = document.getElementById("previous").value;