我从.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);
});
}
现在的问题是我没有得到任何警报。
任何人都可以指出我哪里出错了吗?
答案 0 :(得分:1)
不是$.each
的使用方式:
试试这个:
$.each(abc, function (key, value) {
alert(value);
});
它会提醒字符串中的每个字符。
答案 1 :(得分:1)
那里有几个问题。
一个。这不是JSON [{a,b,c,d,e}]
如果你真的想在body元素上做,那么这是怎么做的:
<body onload="JavaScript:createPanels('{"posts": [{"key":"value"}, {"key":"value"}]}')">
这不是一个好主意,所以你在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 );
});
答案 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);
});
}