2012-07-19 27 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*填補;