gpt4 book ai didi

javascript - 为什么 addEventListener 不会在更改时触发?

转载 作者:行者123 更新时间:2023-12-03 12:13:27 25 4
gpt4 key购买 nike

尝试让事件监听器运行,即当我选择英国时,会出现另一个选择框来选择县(county() 函数),但由于某种原因,addEventListener 不会调用该函数,我也不能理解如何将选定的国家传递给县功能?任何想法请。

                function countries() {
xmlRequest("countries.xml");
var country_selector = document.createElement("SELECT");
country_selector.id = "cou n tryselection";
document.getElementById("quiz").appendChild(country_selector);
var t = document.getElementById("countryselection");

var c_opt = document.createElement("option");
c_opt.text = "Please select";
c_opt.selected = true;
t.add(c_opt);
c_opt = document.createElement("option");
c_opt.text = "United Kingdom";
c_opt.value = "1";
t.add(c_opt);
document.getElementById("countryselection").addEventListener("change", count y(this.value), false);
var x = xmlDoc.getElementsByTagName("country");
for (i = 0; i < x.length; i++) {
var opt = document.createElement("option");
opt.text = x[i].getElementsByTagName("country_name ")[0].childNodes[0].nodeValue;
t.add(opt);
}
}

function county(Country) {
if (!document.getElementById("countyselection")) {
if (Country === "1") {
xmlRequest("counties.xml");
document.getElementById("quiz").innerHTML += "<select id='countyselection'></select>";
var t = document.getElementById("countyselection");
var y = xmlDoc.getElementsByTagName("county");
for (j = 0; j < y.length; j++)
{
var opt = document.createElement("option");
var txt = y[j].getElementsByTagName("county_name")[0].childNodes[0].nodeValue;
opt.text = txt;
t.add(opt);
}
}
} else {
var f = document.getElementById("countyselection");
document.getElementById("countyselection").parentNode.removeChild(f);
}
}

最佳答案

因为您正在调用该函数,而不是引用它,并且函数名称中有一个空格。

改变

document.getElementById("countryselection").addEventListener("change", count y(this.value), false);

document.getElementById("countryselection").addEventListener("change", function() {
county(this.value);
}, false);
<小时/>

另请注意,类似这样的事情

country_selector.id = "cou n tryselection";

完全无效,不能使用带空格的随机文本作为ID

关于javascript - 为什么 addEventListener 不会在更改时触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24843985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com