如何始终返回数组中的选定选项。更改时,返回所选元素的新数组。
let yo = [];
$(`#filter`).on('change', function() {
$('option:selected', this).each(function() {
// console.log(this.value);
yo.push(this.value);
});
});
console.log(yo);
现在返回:
首先选择我的结果是:['one']
。在第二选择上,我得到:['one', 'two']
。取消选择two
时,我的结果是['one', 'two', 'one']
。在未选中的two
上,如何使我的结果成为['one']
?
每次更改时,我都可以取回所选元素吗?
您只需要重置函数内部的yo
数组。目前,该数组仅声明一次,然后您继续向其推入。
$(`#filter`).on('change', function() {
yo = [];
$('option:selected', this).each(function() {
// console.log(this.value);
yo.push(this.value);
});
});
这应该可以正常工作,每次运行on change函数时,它将重置数组,然后再次将其推入。