1 回答

TA贡献1995条经验 获得超2个赞
您的location变量与window.location使用当前文档 url- https://developer.mozilla.org/en-US/docs/Web/API/Window/location的变量冲突
var list = [{"id":" ","location":" "}, {"id":"CN0","location":"CN0"},{"id":"India","location":"India"},{"id":"Japan","location":"Japan"},{"id":"Honkong","location":"Honkong"},{"id":"GB0","location":"GB0"}];
const countries = document.querySelector('#countries');
let optionHTML = "";
list.forEach((obj) => {
optionHTML += '<option value="' + obj.id + '">' + obj.location + '</option>';
});
countries.innerHTML = optionHTML;
countries.addEventListener('change', function() {
location = this.value;
// alert(location);
alert(window.location === location);
});
<select name="" id="countries"></select>
而是使用不同的变量,而不是location使用block-scoped变量 usinglet或const未提升且不与全局变量冲突的变量。
var list = [{"id":" ","location":" "}, {"id":"CN0","location":"CN0"},{"id":"India","location":"India"},{"id":"Japan","location":"Japan"},{"id":"Honkong","location":"Honkong"},{"id":"GB0","location":"GB0"}];
const countries = document.querySelector('#countries');
let optionHTML = "";
list.forEach((obj) => {
optionHTML += '<option value="' + obj.id + '">' + obj.location + '</option>';
});
countries.innerHTML = optionHTML;
countries.addEventListener('change', function() {
let location = this.value;
console.log(location);
});
<select name="" id="countries"></select>
添加回答
举报