您的位置:首页 > Web前端 > JavaScript

在js中取出对象中的值

2014-03-26 17:44 302 查看
刚才遇到一个问题,刚刚解决,觉得有必要记录一下。

问题是这样的:后台传到jsp上一个将List转化成JSON串的字符串,而原先的List中放入的是Map元素。将这个JSON串打印出来结果如下:

[{"f0":"7908","f1":"经济"},{"f0":"7808","f1":"经济"},{"f0":"7505","f1":"经济"},{"f0":"7805","f1":"经济"},{"f0":"8002","f1":"经济"}]

现在要在前台将List中的每个Map的key对应的每个value取出来形成表格,以下是代码:

var preTable = $("#previewTable");
var fieldsArray = fields.split(", ");  
var tr = "<tr valign='middle' height='18' align='center' class='preTableTr'>";
for (var i=0; i<fieldsArray.length; i++) {
tr += "<td>" + fieldsArray[i] + "</td>";
}
tr += "</tr>";
preTable.append(tr);$.ajax({         type: "POST",   cache: false,         url: "CertificateTask!sampleData.action",         data: "urlType=" + fields,         success: function(msg){          if("" != msg) {              var ObjectArray = new Array();              ObjectArray = eval('('+msg+')');              for (var p=0; p<ObjectArray.length; p++) {                 var temTr = "<tr valign='middle' height='18' align='center' class='preTableTr'>";                  for (var j=0; j<fieldsArray.length-1; j++) {                      var temNum = 'f' + j;                      temTr += "<td>" + ObjectArray[p][temNum] + "</td>";                   }                   temTr += "</tr>";                   preTable.append(temTr);           }           }        }  });  
用到了jquery的Ajax提交,fieldsArray是盛放表格字段名称的一个数组,先将返回回来的JSON字符串msg转化为一个数组对象(ObjectArray,实际上就是List),然后遍历这个ObjectArray,刚开始在第二个for循环是这样取出map的value的:

ObjectArray[p].temNum但是发现这样会出现取值为undefined的问题,于是最后终于想到用以上办法解决。

唉,其实就是.和[]的问题,还好,最终还是解决了!效果图如下:

 





 
本文出自 “希望家园” 博客,请务必保留此出处http://dyq0908.blog.51cto.com/4347597/780689
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: