2014-07-05 63 views
0

是否可以从下拉菜单中获取OnChange事件的前一个值?我需要看到之前选定的值,以便我可以对我应该显示的内容做出决定。OnChange - 获取之前的值?

目前,我得到了新的价值:

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

但想知道这是什么选择了这个值的用户面前。

+0

我觉得这已经在这里找到答案[改变之前获取的select(下拉列表)的值] [1] [1]:HTTP: //stackoverflow.com/questions/4076770/getting-value-of-select-dropdown-before-change – dmasi

回答

0

尝试一些事情是这样的:

<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

您可以使用:.defaultValue 会给你的价值。

1

你必须存储于前值自己:

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