我对编码很陌生,所以如果这是一个愚蠢的问题,我已经很抱歉了。我想比较四个数据列表,它们都包含所有国家的列表。用户应在第一个数据列表中选择一个国家/地区。如果用户在第二个,第三个或第四个数据列表中选择相同的国家/地区,我想在下面显示第一个数据列表的国家/地区。如果第二、第三或第四个数据列表的选定国家/地区与第一个数据列表的国家/地区不匹配,我想在下面显示第四个数据列表的所选国家/地区。
我希望你们明白我想说什么。
我非常感谢任何帮助。
提前致谢!
这是我到目前为止所拥有的:
var inputs1 = ['country1', 'country2', 'country3', 'country4'].map(c => document.getElementsByName(c)[0]),
country1, country2, country3, country4;
for (var i = 0; i < inputs1.length; i++) {
var el = inputs1[i];
el.addEventListener('change', function() {
compareLists(this.value);
})
}
function compareLists() {
var map = {};
inputs1.forEach((i, idx) => {
i.value && ((map[i.value]?.push(idx)) || (map[i.value] = [idx]));
});
// use an object map to collect duplicates
// filter out only dupe lists > 1 in length
map = Object.entries(map).filter(([, x]) => x.length > 1);
console.log(map);
// compare the list
if (inputs1[0].value == inputs1[1].value || inputs1[0].value == inputs1[2].value || inputs1[0].value == inputs1[3].value){
document.getElementById("ebene2").classList.add('showing');
} else {
document.getElementById("ebene3").classList.add('showing');
}
}
.fragen {display: none;}
.showing {display: block;
}
小唯快跑啊
相关分类