【问题标题】:Perform foreach in jquery在jquery中执行foreach
【发布时间】:2012-07-18 11:15:01
【问题描述】:

我的 jQuery 代码有问题。

我有两个 jsp 类。

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

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

$(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 中获得一个数字。

我该怎么做?

【问题讨论】:

  • 我在网上搜索并找到了这个,但它不起作用......它只应该写#panel1或panel2等等。
  • 您不能直接将 Java ArrayList 用作 jQuery Array。此外,从您的代码中也不清楚您到底想要什么,顺便说一下@nickf 提到的这个#panel"+alert(item) 是不正确的。
  • jsp 文件?您不会尝试在 jQuery 中直接使用 JSP 变量,是吗?如果是这样,您的 var ArrayList 将永远不会被理解。小心! Java 和 JavaScript 只有一部分名称相同,仅此而已。无论如何,如果您显示第一个文件的代码会更好。正如@nickf 所说,代码:“#panel”+alert(item) 是完全错误的。我现在只能说这些了。

标签: jquery jsp foreach arraylist internet-explorer-9


【解决方案1】:

您可以在您的 jsp 文件中创建一个 javascript 数组,其中包含您 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&lt;Integer&gt;myJSList是一个javascriptarray*myAttrList*填充;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 2016-06-29
    • 1970-01-01
    相关资源
    最近更新 更多