【问题标题】:OnChange - get previous value? [duplicate]OnChange - 获取先前的值? [复制]
【发布时间】:2014-08-26 06:54:31
【问题描述】:

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

此刻,我得到了新值:

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

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

【问题讨论】:

标签: javascript jquery


【解决方案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());
});

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这是错误的,对象。 defaultValue 属性为您提供在 HTML 代码中设置的值。见link
    【解决方案3】:

    试试这样的:

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

    【讨论】:

    • 如果用户通过按下tab 按钮专注于该输入怎么办?则不会触发点击事件。
    猜你喜欢
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2013-05-16
    相关资源
    最近更新 更多