一尘不染

更改前获取选择(下拉)的值

javascript

我要实现的事情是,无论何时<select>更改下拉列表,我都希望更改之前的下拉列表的值。我正在使用1.3.2版的jQu​​ery并使用on
change事件,但是更改后得到的值是。

<select name="test">
<option value="stack">Stack</option>
<option value="overflow">Overflow</option>
<option value="my">My</option>
<option value="question">Question</option>
</select>

可以说,当我在onchange事件中将其更改为堆栈时(即,当我将其更改为堆栈时),现在选择了My选项,我希望它是先前的值,即本例中的期望值。

如何做到这一点?

编辑: 就我而言,我在同一页面中有多个选择框,并希望将相同的内容应用于所有选择框。通过页面加载通过ajax之后,也会插入所有我选择的内容。


阅读 246

收藏
2020-04-25

共1个答案

一尘不染

焦点 事件与 更改 事件结合起来即可实现所需的目标:

(function () {
    var previous;

    $("select").on('focus', function () {
        // Store the current value on focus and on change
        previous = this.value;
    }).change(function() {
        // Do something with the previous value after the change
        alert(previous);

        // Make sure the previous value is updated
        previous = this.value;
    });
})();
2020-04-25