Javascript 使用mootools在页面上的数组迭代中出现未定义的var错误 var makeModelYearSelect=document.getElementById(“”)控件; var selectedMakeModelYearItems=makeModelYearSelect.get_checkedItems(); var selectedMakeModelYearItemId=[]; 对于(var index=0;index

Javascript 使用mootools在页面上的数组迭代中出现未定义的var错误 var makeModelYearSelect=document.getElementById(“”)控件; var selectedMakeModelYearItems=makeModelYearSelect.get_checkedItems(); var selectedMakeModelYearItemId=[]; 对于(var index=0;index,javascript,arrays,mootools,Javascript,Arrays,Mootools,为什么这会引发Microsoft JScript运行时错误:“SelectedMakeMakeModelYearItem”未定义 Mootools不允许我使用简单的for…in for迭代 到星期天为止,我已经看了6种方法,所以我到底错过了什么?因为selectedMakeModelYearItem未定义 selectedMakeModelYearItems不是,但是。可能您尝试调用此代码,因为页面已加载。在本例中,选择您试图访问的标记,该标记不会呈现,也不能从JavaScript访问。你可以试

为什么这会引发Microsoft JScript运行时错误:“SelectedMakeMakeModelYearItem”未定义

Mootools不允许我使用简单的for…in for迭代


到星期天为止,我已经看了6种方法,所以我到底错过了什么?

因为
selectedMakeModelYearItem
未定义


selectedMakeModelYearItems
不是,但是。

可能您尝试调用此代码,因为页面已加载。在本例中,选择您试图访问的标记,该标记不会呈现,也不能从JavaScript访问。你可以试试类似的东西

 var makeModelYearSelect = document.getElementById("<%= MakeModelYearFilterLB.ClientID %>").control;
 var selectedMakeModelYearItems = makeModelYearSelect.get_checkedItems();
 var selectedMakeModelYearItemIds = [];


 for (var index = 0; index < selectedMakeModelYearItems.length; index++) {
   selectedMakeModelYearItemIds.push(selectedMakeModelYearItem[index].get_value(index));
 }
window.addEventListener(“加载”,
(功能(){
返回函数setMakeModelYearFilter(){
var makeModelYearSelect=document.getElementById(“”).control;

var selectedMakeModelYearItems=makeModelYearSelect.get_checkedItems(); var selectedMakeModelYearItemId=[]; 对于(var index=0;index
这是我为您提供的一次性打字识别服务!顺便说一句,在我看来,这是首选的数组迭代技术,所以不用担心,嗯,正确答案的否决票。这很有趣。谢谢……我现在觉得自己很愚蠢……lol
selectedMakeModelYearItem
是一个未定义的变量,而不是找不到的DOM元素。makeModelYearSelect.get_checkedItems();这可能取决于未加载的DOM对象。我不确定。
window.addEventListener("load",
(function() {
return function setMakeModelYearFilter() {
        var makeModelYearSelect = document.getElementById("<%= MakeModelYearFilterLB.ClientID %>").control;
        var selectedMakeModelYearItems = makeModelYearSelect.get_checkedItems();
        var selectedMakeModelYearItemIds = [];


for (var index = 0; index < selectedMakeModelYearItems.length; index++) {
   selectedMakeModelYearItemIds.push(selectedMakeModelYearItem[index].get_value(index));
}
    window.removeEventListener('load', setMakeModelYearFilter, false);
}})()
, false);