2012-07-19 81 views
1

我的jQuery代码有问题。在jquery中执行foreach

我有两个jsp类。

在第一个我定义一个ArrayList并填充数字,在第二个调用是我的jQuery代码。

我尝试输入一个Arraylist到jQuery脚本中,但它不起作用。

$(document).ready(function() 
{ 
$(".trigger").click(function() 
{ 
    var myJSList = ${myAttrList}; 
    $.each(myJSList, function(item, index) 
    { 
    $("#panel"+alert(item)).toggle("fast"); 
    $(this).toggleClass("active"); 
    return false; 

}); 
}); 

#panel应在年底获得来自Arraylist一个数字。

我该怎么做?

+2

'“#panel”+ alert(item)'什么? – nickf 2012-07-19 09:44:16

+0

我通过网络搜索,发现这个,但它不工作... 它只应写#panel1或panel2等。 – Meant2Play 2012-07-19 09:46:30

+2

你不能直接使用Java'ArrayList'作为jQuery''Array'。另外,你的代码并不清楚你到底想要什么,就像@nickf提到的那样,这个'#panel“+ alert(item)'不正确。 – 2012-07-19 12:56:41

回答

0

您可以创建在你的JSP文件中的JavaScript阵列与YOUT Java的ArrayList的所有元素:

<script type="text/javascript"> 

var myJSList =new Array(); 
    <% for(int i=0; i < myAttrList.size(); i++){ %> 
myJSList [<% out.print(i); %>] = "<% out.print(myAttrList.get(i).toString()); %>"; 
    <% }//end for 
    %> 
    //use myJSList on client side (with jquery) ... 

</script> 

这里myAttrList是Java类型ArrayList<Integer>,并myJSList是一个JavaScript array*myAttrList*填补;