更改时返回选择的值,不选择时不重复

问题描述 投票:1回答:1

如何始终返回数组中的选定选项。更改时,返回所选元素的新数组。

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']

每次更改时,我都可以取回所选元素吗?

javascript jquery arrays ecmascript-6 dropdown
1个回答
1
投票

您只需要重置函数内部的yo数组。目前,该数组仅声明一次,然后您继续向其推入。

$(`#filter`).on('change', function() {
   yo = [];
   $('option:selected', this).each(function() {
        // console.log(this.value);
        yo.push(this.value);
   });
});

这应该可以正常工作,每次运行on change函数时,它将重置数组,然后再次将其推入。

© www.soinside.com 2019 - 2024. All rights reserved.