日期:2014-05-17  浏览次数:20707 次

JS中Json对象的传递
先说下我要完成得功能:首先从后台查询返回一个字符串 前台直接eval解析成json  然后动态创建 li 标签 然后当鼠标单击li时 弹出json中得content属性和id属性
现在最后一步一直无法传传递json
代码如下:

/**
 * 初始化加载最新通知
 */
function init_fav_box(json){
json = eval(json);
for ( var int = 0; int < json.length; int++) {
var li="<a id="+json[int].id+"> <li   style='font-size:11px; color:gray;list-style-type:square;' >"+json[int].title+"&nbsp;&nbsp;&nbsp;&nbsp;>></li></a>" +
"<div style='background: url(./EF/Images/title.gif) 15px; width: 99%;height: 2px;'></div>";
$('#fav_box_ul').append(li);
}
click_box(json);
}

/**
 * click 单击事件
 */
function click_box(son){
for(var i=0;i<son.length;i++){
$("#"+son[i].id).click(function() {
alert(son[i].content);
});
}
}


单击时说content属性未定义  求代码或者思路 谢谢

------解决方案--------------------
楼主你为什么非要把对象跟名字取一样的
解决方法,你传递对象过去就识别不了了。
说下思路,你再后台传递JSON字符串到前台,eval转成对象。
你调用click_box函数的时候,再将JSON对象转换成字符串,然后在click_box再eval成对象就可以了。函数调用有的时候不太支持JSON对象传递