OnChange - 获得之前的价值?

时间:2014-07-05 03:26:42

标签: javascript jquery

是否可以从下拉列表中获取OnChange事件中的上一个值?我需要查看之前选择的值,以便我可以决定应该显示什么。

目前,我获得了新值:

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

但是想知道在用户选择此值之前它是什么。

3 个答案:

答案 0 :(得分:2)

您必须自己存储以前的值:

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

答案 1 :(得分: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();
        }
    });
});

答案 2 :(得分:-1)

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