Javascript 更改时返回选定值,取消选择时不重复
如何始终返回数组中的选定选项。更改时返回选定元素的新数组Javascript 更改时返回选定值,取消选择时不重复,javascript,jquery,arrays,ecmascript-6,dropdown,Javascript,Jquery,Arrays,Ecmascript 6,Dropdown,如何始终返回数组中的选定选项。更改时返回选定元素的新数组 let yo = []; $(`#filter`).on('change', function() { $('option:selected', this).each(function() { // console.log(this.value); yo.push(this.value); }); }); console.log(yo); 现在它返回: 在第一次选择时,我的结果是:['one'
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`)。在('change',function()上{
yo=[];
$('option:selected',this).each(函数(){
//console.log(this.value);
推(这个值);
});
});
这应该可以提前工作,每次运行on change函数时,它都会在再次按下之前重置数组。您只需重置函数中的
yo
数组即可。目前,数组只声明了一次,然后继续推进它
$(`filter`)。在('change',function()上{
yo=[];
$('option:selected',this).each(函数(){
//console.log(this.value);
推(这个值);
});
});
这应该可以提前工作,每次运行on change函数时,它都会在再次按下之前重置阵列。您可以这样做
$(`#select`).on("change", function(e) {
//$(this).val() will get an array of selected values
console.log($(this).val());
});
你可以这样做
$(`#select`).on("change", function(e) {
//$(this).val() will get an array of selected values
console.log($(this).val());
});