求解析一个JSON字符串获取当前级别父级的ID!!! 本帖最后由 jetaimejay 于 2013-07-03 11:44:32 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的问题需要再确切些:你所要求返回数据,是在什么情况下触发的?如果是在点击checkbox后触发的,那这个问题就非常简单了。如果不是触发的,如果仅仅是在json内部里面处理。知道了底层的某个id,获取json里面高层的数据,这就无法实现了可以从高层依次向下获取,当时不能从底层依次向上获取 递归就可以了function getParentId(id){ var arr = new Array(); $.each(json, function(i,item){ if(item.Id==id && item.ParentId!=0){ arr.push(item.ParentId); arr = arr.concat(getParentId(item.ParentId)); } }); return arr;} <script> var s = eval([{ "Id": 1, "Name": "机构1", "ParentId": 0 }, { "Id": 4, "Name": "机构11", "ParentId": 1 }, { "Id": 2, "Name": "机构2", "ParentId": 1 }, { "Id": 3, "Name": "机构3", "ParentId": 2 }, { "Id": 21, "Name": "机构111", "ParentId": 4}]); p = GetParentId(21); q = GetParentId(p); alert(p + ":" + q); function GetParentId(id) { var n = ""; for (var i = 0; i < s.length; i++) { if (s[i].Id == id) { n = s[i].ParentId; } } return n; } </script> jQuery报错attempt to run compile-and-go script on a cleared scope 关于图片路径替换 javascrip如何遍历泛型 javascript+DIV弹出图层 如何写过一段时间自动调转到不同页面呢? 分享一个原创的导航菜单(支持XML导入、换肤)! 一个较难的问题,解决立即给分,不够再加 有个菜单很好用,跟大家分享。可是想加点功能,不会,高分求救! 求一段代码!!很急,谢谢了! 如何用javascript控制当前浏览器窗口,具体请进…… jquery 问题 两个表格间TR的左右移动问题
你所要求返回数据,是在什么情况下触发的?
如果是在点击checkbox后触发的,那这个问题就非常简单了。如果不是触发的,如果仅仅是在json内部里面处理。
知道了底层的某个id,获取json里面高层的数据,这就无法实现了
可以从高层依次向下获取,当时不能从底层依次向上获取
var arr = new Array();
$.each(json, function(i,item){
if(item.Id==id && item.ParentId!=0){
arr.push(item.ParentId);
arr = arr.concat(getParentId(item.ParentId));
}
});
return arr;
}
<script>
var s = eval([{ "Id": 1, "Name": "机构1", "ParentId": 0 }, { "Id": 4, "Name": "机构11", "ParentId": 1 }, { "Id": 2, "Name": "机构2", "ParentId": 1 }, { "Id": 3, "Name": "机构3", "ParentId": 2 }, { "Id": 21, "Name": "机构111", "ParentId": 4}]); p = GetParentId(21);
q = GetParentId(p);
alert(p + ":" + q);
function GetParentId(id) {
var n = "";
for (var i = 0; i < s.length; i++) {
if (s[i].Id == id) {
n = s[i].ParentId;
}
}
return n;
}
</script>