Javascript 迭代节点列表,获取节点项的值的长度
我正在尝试动态获取ZIPcodes,并在长度为5时验证它们 我使用querySelectorAll获取页面上的Zipcode字段,以及验证后将使用的一些其他字段 我迭代nodelist并将其传递给另一个函数,如果值的长度正确,eventlistener将在该函数中启动Javascript 迭代节点列表,获取节点项的值的长度,javascript,node.js,arrays,ecmascript-6,nodes,Javascript,Node.js,Arrays,Ecmascript 6,Nodes,我正在尝试动态获取ZIPcodes,并在长度为5时验证它们 我使用querySelectorAll获取页面上的Zipcode字段,以及验证后将使用的一些其他字段 我迭代nodelist并将其传递给另一个函数,如果值的长度正确,eventlistener将在该函数中启动 function GetZipCodeDetails() { var zipId = document.querySelectorAll("[id*='ZipCode']");
function GetZipCodeDetails() {
var zipId = document.querySelectorAll("[id*='ZipCode']");
var countyId = document.querySelectorAll("[id*='CountyId']");
var stateId = document.querySelectorAll("[id*='StateId']");
var phoneId = document.querySelectorAll("[id*='PhoneNumber']");
for (var i = 0; i < zipId.length; i++) {
if (zipId[i].length = 5)
AssortedZipCodeFunctions(zipId[i], countyId[i], stateId[i], phoneId[i]);
}
}
function AssortedZipCodeFunctions(zipId, countyId, stateId, phoneId) {
//Runs auto-county/state function only when zipcode field is completed
document.addEventListener("keyup", (e) => {
if (zipId.value.length == 5) {
GetCountyAndStateFromIds(zipId, countyId, stateId, phoneId);
} });
}
函数GetZipCodeDetails(){
var zipId=document.querySelectorAll(“[id*='ZipCode']”);
var countyId=document.queryselectoral(“[id*='countyId']”);
var stateId=document.queryselectoral(“[id*='stateId']”);
var phoneId=document.querySelectorAll(“[id*='PhoneNumber']”);
对于(变量i=0;ifunction GetZipCodeDetails() {
var zipId = document.querySelectorAll("[id*='ZipCode']");
var countyId = document.querySelectorAll("[id*='CountyId']");
var stateId = document.querySelectorAll("[id*='StateId']");
var phoneId = document.querySelectorAll("[id*='PhoneNumber']");
for (var i = 0; i < zipId.length; i++) {
document.addEventListener("keyup", (e) => {
if (zipId[i].value.length == 5) {
GetCountyAndStateFromIds(zipId[i], countyId[i], stateId[i], phoneId[i]);
}
});
}
}
函数GetZipCodeDetails(){
var zipId=document.querySelectorAll(“[id*='ZipCode']”);
var countyId=document.queryselectoral(“[id*='countyId']”);
var stateId=document.queryselectoral(“[id*='stateId']”);
var phoneId=document.querySelectorAll(“[id*='PhoneNumber']”);
对于(变量i=0;i我发现for循环正在调用第二个函数,而不是等到Zipcode值为5。。。所以我只是把它传递给了另一个函数?或者可能我被困在如何获取节点项的值的长度上了?请提供帮助。在事件侦听器中,您将其添加到文档中,而不是单独添加每个元素
for (var i = 0; i < zipId.length; i++) {
zipId[I].addEventListener("keyup", (e) => {
if (zipId[i].value.length == 5) {
GetCountyAndStateFromIds(zipId[i], countyId[i], stateId[i], phoneId[i]);
}
});
}
for(变量i=0;i{
if(zipId[i].value.length==5){
GetCountyandStateFromId(zipId[i]、countyId[i]、stateId[i]、phoneId[i]);
}
});
}
这被标记为node.js,但似乎没有关联。请显示您的HTML。为什么不使用querySelectorAll(“您的id”)
querySelectorAll(“[id*='your-id']”)
似乎很不寻常。只需将var
更改为let
@buzatto这是正确的答案。非常感谢。