我想要实现的是每当 <select>
下拉列表已更改我想要更改之前下拉列表的值。我正在使用 1.3.2 版本的 jQuery 并使用 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>
假设当前选项 My 在我在 onchange 事件中将其更改为堆栈时(即当我将其更改为堆栈时)被选中,我希望它是以前的值,即我在这种情况下的预期值。
如何做到这一点?
编辑:在我的情况下,我在同一页面中有多个选择框,并且希望将相同的内容应用于所有这些框。此外,我的所有选择都是在通过 ajax 加载页面后插入的。
最佳答案
将 focus 事件与 change 事件结合起来,达到你想要的效果:
(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;
});
})();
关于javascript - 在更改之前获取选择(下拉)的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4076770/