2 回答

TA貢獻1811條經驗 獲得超4個贊
id 屬性在整個文檔中必須是唯一的。如果要對每個輸入使用不同的國家/地區數據列表,則需要對每個數據列表使用不同的 ID。
getElementsByName 按單個名稱進行搜索。不接受多個參數。
您可以為它們指定相同的名稱,或者使用類。
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);
// assign a different color border for each set of duped value inputs
var colors = ['blue', 'green', 'red', 'yellow'];
inputs1.forEach(input => input.style.border = '');
map.forEach(([, list]) => {
var color = colors.pop();
list.forEach(x => inputs1[x].style.border = `1px solid blue`);
});
/* if (country1 == country2) {
document.getElementById("ebene2").classList.add('showing');
document.getElementById("ebene3").classList.remove('showing');
} else {
document.getElementById("ebene3").classList.add('showing');
document.getElementById("ebene2").classList.remove('showing');
}*/
}
.showing {
border: 1px solid blue
}
<datalist id="country">
<option value="Chocolate">
<option value="Coconut">
<option value="Mint">
<option value="Strawberry">
<option value="Vanilla">
</datalist>
<div>
<h3>In welchem Staat sind die folgenden Orte? </h3>
Sitz / gew?hnlicher Aufenthalt des Bef?rderers:
<form>
<input type="search" name="country1" list="country">
</form>
<br> Sitz / gew?hnlicher Aufenthalt des Absenders
<form>
<input type="search" name="country2" list="country">
</form>
<br> übernahmeort der Güter
<form>
<input type="search" name="country3" list="country">
</form>
<br> Ablieferungsort der Güter
<form>
<input type="search" name="country4" list="country">
</form>
<br>
</div>

TA貢獻1775條經驗 獲得超11個贊
在不閱讀您的代碼的情況下,我只是想知道您是否可以執行此操作:
當用戶單擊一個國家/地區以數組保存該國家/地區時,然后當他單擊另一個國家/地區以將該國家/地區保存在同一數組中時,只需從數組中比較這兩個值?commonCountries
添加回答
舉報