每个循环在jquery中不起作用

时间:2013-07-23 07:35:59

标签: jquery

我从.aspx页面调用jquery函数,如下所示

 <body onload="JavaScript:createPanels('[{a,b,c,d,e}]')">

在我的jquery中我将函数定义为

function createPanels(requiredButtons) {
    var abc = JSON.stringify(requiredButtons)
    abc.each(function (key, value) {
        alert(value);
    });

}

现在的问题是我没有得到任何警报。

任何人都可以指出我哪里出错了吗?

6 个答案:

答案 0 :(得分:1)

不是$.each的使用方式:

试试这个:

$.each(abc, function (key, value) {
    alert(value);
});

它会提醒字符串中的每个字符。

答案 1 :(得分:1)

那里有几个问题。

一个。这不是JSON [{a,b,c,d,e}]

如果你真的想在body元素上做,那么这是怎么做的:

<body onload="JavaScript:createPanels('{&#34;posts&#34;: [{&#34;key&#34;:&#34;value&#34;}, {&#34;key&#34;:&#34;value&#34;}]}')">

这不是一个好主意,所以你在jquery页面加载处理程序中调用它:

$(document).ready(function(){
  //create the JSON object here
  //call the function here
}); 

湾也改变你的脚本:

function createPanels(requiredButtons){
    var abc = JSON.parse(requiredButtons);
    $(abc).each(function (key, value) {
         alert(value);
    });
}

答案 2 :(得分:1)

这不是有效的JSON格式。 Json格式如下所示:

 var obj = {
     "flammable": "inflammable",
      "duh": "no duh"
   };

然后使用如下:

 $.each( obj, function( key, value ) {
     alert( key + ": " + value );
  });

Reference

答案 3 :(得分:0)

“{a,b,c,d}”不是您的代码无效的对象。

第二点是:使用jQuery.each()来迭代集合。

尝试将其置于此格式:

var x= ['a','b','c','d','e'];
jQuery.each(x,function (key, value) {
        console.log(value);
});

它会根据需要返回 a,b,c,d,e

这是工作demo

答案 4 :(得分:0)

我喜欢jQuery和所有内容,但是没有必要调用它来迭代数组。

abc.forEach( function (elem) {
    console.log(elem);
});
一旦你整理了JSON的东西,

应该可以工作

答案 5 :(得分:0)

感谢您宝贵的建议 我解决了这个问题

.aspx page

<body onload="JavaScript:createPanels('a,b,c,d,e')">

jquery的

function createPanels(requiredButtons) {
    var abc = requiredButtons.split(',');
    $.each(abc, function (key, value) {
        alert(value);
    });

}