2011-09-24 37 views
0

你好,我有一个prboblem与下面的代码:jQuery的创建数组问题与

function loadOptions(num){ 
listTabs = new Array(); 
for(var i = 1 ; i < parseInt(num) + 1 ; i++){ 
    var tabActu = { 
     'name':'tab'+i, 
     'src':'urlImatge' 
     }; 
    listTabs.add(tabActu); 
    $.each(listTabs,function(key,value){ 
     alert(key+" : "+value); 
    }); 
} 

}

我需要创建等于num参数元素的列表。我找不到错误。

+4

请参阅http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 ... 52天,0票和0票接受O_o。 –

+1

请返回并接受您之前问题的一些答案。它会帮助你在将来得到答案。 +1到@RobW –

回答

2

你在错误的JavaScript错误控制台看?

Javascript数组没有.add()方法。您可以使用.push()

function loadOptions(num){ 
    listTabs = new Array(); 
    var len = parseInt(num, 10); 
    for (var i = 1 ; i < len + 1 ; i++) { 
     var tabActu = { 
      'name':'tab' + i, 
      'src':'urlImatge' 
      }; 
     listTabs.push(tabActu); 
     $.each(listTabs,function(key,value){ 
      alert(key+" : "+value); 
     }); 
    } 
} 

除了更改为.push(),parseInt函数必须始终传递的基数值,你应该从循环中删除函数调用parseInt函数,所以它不要求每次迭代。此外,您还没有在此处列出listTabs,因此使其成为全局变量。这是你的意图吗?

1

燮的Francesc

阵列没有一个add方法.....使用推