2014-07-05 5 views
0

Est-il possible d'obtenir la valeur précédente de l'événement OnChange à partir d'une liste déroulante? J'ai besoin de voir la valeur sélectionnée précédemment, afin que je puisse prendre une décision sur ce que je devrais afficher.OnChange - Récupère la valeur précédente?

En ce moment, je reçois la nouvelle valeur:

var id = $('.cmbType').val(); 

Mais aimerait savoir ce qu'il était avant que l'utilisateur choisi cette valeur.

+0

Je pense que cela a déjà été répondu ici [Obtenir la valeur de sélection (menu déroulant) avant le changement] [1] [1]: http: //stackoverflow.com/questions/4076770/getting-value-of-select-dropdown-before-change – dmasi

Répondre

0

Essayez quelque chose comme ceci:

<select id='cmbType'> 
    <option value='1' >1</option> 
    <option value='2' >2</option> 
    <option value='3' >3</option> 
</select> 

javascript:

var preSelected = -1; 
$(function(){ 
    $('#cmbType').bind('click change', function(e){ 
     if(e.type == 'change'){ 
      // change value detect 
      alert(preSelected); 
     } 
     else{ 
      // click 
      preSelected = $(this).val(); 
     } 
    }); 
}); 
0

Vous pouvez utiliser: .defaultValue vous donnera la valeur.

1

Vous avez pour stocker la valeur précédente vous:

// store initial value 
var initialValue = $('.cmbType').val(); 
$('.cmbType').data('previousValue', initialValue); 

// change handler 
$('.cmbType').change(function(e) { 

    var previousValue = $(this).data('previousValue'); 

    // make decision 
    alert(previousValue); 

    // store previousValue 
    $(this).data('previousValue', $(this).val()); 
}); 
Questions connexes