Comment puis-je récupérer la nouvelle valeur sélectionnée et la valeur sélectionnée précédente avec JavaScript lorsque OnCHange ou événement similaire est appelé? Merci! Merci! Merci! :) p> p>
4 Réponses :
Utilisation droite JavaScript et DOM, quelque chose comme ceci ( exemple en direct ):
var box, oldValue; // Get a reference to the select box's DOM element. // This can be any of several ways; below I'll look // it up by ID. box = document.getElementById('theSelect'); if (box.addEventListener) { // DOM2 standard box.addEventListener("change", changeHandler, false); } else if (box.attachEvent) { // IE fallback box.attachEvent("onchange", changeHandler); } else { // DOM0 fallback box.onchange = changeHandler; } // Our handler function changeHandler(event) { var index, newValue; // Get the current index index = this.selectedIndex; if (index >= 0 && this.options.length > index) { // Get the new value newValue = this.options[index].value; } // **Your code here**: old value is `oldValue`, new value is `newValue` // Note that `newValue`` may well be undefined display("Old value: " + oldValue); display("New value: " + newValue); // When done processing the change, remember the old value oldValue = newValue; }
J'aimerais utiliser un cadre JavaScript. Je suis un grand fan de prototype! :) Mais nous ne sommes pas capables d'introduire l'un d'entre eux pour le moment. :( Merci pour votre conseil, je vous ferai savoir si cela fonctionne.
Regardez ici: Obtention de la valeur de Select (Dropdown) avant de changer A >
Je pense que le meilleur,
L'extrait de code suivant peut aider
Comment est-ce que ce code est meilleur que la réponse acceptée? Pourquoi est-il préférable d'utiliser l'événement en ligne Onchange?
ci-dessous travaillé pour moi. Ajouter ci-dessous deux événements à votre étiquette HTML Select: -
onFocus='this.oldValue = this.value'; //if required in your case add this line to other events like onKeyPressDown and onClick. onChange = 'alert(this.oldValue); this.value=this.oldValue'
Merci pour cette réponse. Je préfère cette façon. Au lieu d'utiliser Ceci code> Je définit une propriété dans la fenêtre.
$ myname.oldvalue = ceci.value code> et j'ai également attribué l'OldValue à la valeur actuelle dans i> Onfocus et B> Onchange car la réponse peut changer sans la mise au point de tirer à nouveau.