由于是自学json、jquery,不是很熟悉、 请大侠们帮忙下、
下面是我用jquery 获取的后台json数据
{"jobID":10004, "processID":100,"appID":4,"subProjectId":0,"projectFolderId":0,"step":0,"processName":"项目登记","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10005, "processID":101,"appID":4,"subProjectId":0,"projectFolderId":0,"step":0,"processName":"任务分配","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10007, "processID":102,"appID":4,"subProjectId":0,"projectFolderId":23770,"step":1,"processName":"专业部门经理分配","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10008, "processID":103,"appID":4,"subProjectId":0,"projectFolderId":23771,"step":1,"processName":"任务办理","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10011, "processID":104,"appID":4,"subProjectId":0,"projectFolderId":23770,"step":1,"processName":"专业部门经理审核","preJobBaseId":0,"ParentNode":0}
]}
]}
]}
]}
我该怎么遍历呢。说是说递归,也理解递归,但就是写不来、
这是我过去方式
$.ajax({
url:'<%=basePath%>taskMonitor.do?method=monitor',
type:'get', //数据发送方式
dataType:'json', //接受数据格式
data:'taskId='+urlpath, //要传递的数据
success : function(json){ 这里该如何遍历呢,。我的目的是把json数据里的对象、的一个属性遍历显示到树上。 所谓对象里对象就是自己,只是在树上显示成子节点 ,
}
})
下面是我用jquery 获取的后台json数据
{"jobID":10004, "processID":100,"appID":4,"subProjectId":0,"projectFolderId":0,"step":0,"processName":"项目登记","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10005, "processID":101,"appID":4,"subProjectId":0,"projectFolderId":0,"step":0,"processName":"任务分配","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10007, "processID":102,"appID":4,"subProjectId":0,"projectFolderId":23770,"step":1,"processName":"专业部门经理分配","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10008, "processID":103,"appID":4,"subProjectId":0,"projectFolderId":23771,"step":1,"processName":"任务办理","preJobBaseId":0,"ParentNode":0,
"ChildNodes":[{"jobID":10011, "processID":104,"appID":4,"subProjectId":0,"projectFolderId":23770,"step":1,"processName":"专业部门经理审核","preJobBaseId":0,"ParentNode":0}
]}
]}
]}
]}
我该怎么遍历呢。说是说递归,也理解递归,但就是写不来、
这是我过去方式
$.ajax({
url:'<%=basePath%>taskMonitor.do?method=monitor',
type:'get', //数据发送方式
dataType:'json', //接受数据格式
data:'taskId='+urlpath, //要传递的数据
success : function(json){ 这里该如何遍历呢,。我的目的是把json数据里的对象、的一个属性遍历显示到树上。 所谓对象里对象就是自己,只是在树上显示成子节点 ,
}
})
for(var o in obj){
if(typeof o == "string"){
//dosomething
}
else {
getAllCld(o);
}
}
}
根据需要自己改改,思路大体是这样
接1楼写的话,就直接用 o.属性名 就可以访问 : 后面的值了
就是一组键值对集合,可以理解为JAVA里的MAP
othis=this
$.each(jsondata,function(a,v){
//a 属性命,v值
if(typeof v =="object"){
othis(v)
}
}
}
function GetCountryList<%=DivName %>()
{
$.ajax({
type:"Post",
url:"<%=BLL.Config.root %>ProAjax/Clearing/GetCountry.aspx",
data:"",
success:function (msg){
var datalist=eval(msg);
for(var i=0;i<datalist.length;i++){
var key=datalist[i][0];
var value=datalist[i][1];
$("<option value="+value+">"+key+"</option>").appendTo($("#ddlCountry<%=DivName %>"));
}
$("<option value=''>其他国家或地区</option>").appendTo($("#ddlCountry<%=DivName %>"));
$("#ddlCountry<%=DivName %>").val(35);
GetProvinceById<%=DivName %>();
}
})
}
function GetCountryList<%=DivName %>()
{
$.ajax({
type:"Post",
url:"<%=BLL.Config.root %>ProAjax/Clearing/GetCountry.aspx",
data:"",
success:function (msg){
var datalist=eval(msg);
for(var i=0;i<datalist.length;i++){
var key=datalist[i][0];
var value=datalist[i][1];
$("<option value="+value+">"+key+"</option>").appendTo($("#ddlCountry<%=DivName %>"));
}
$("<option value=''>其他国家或地区</option>").appendTo($("#ddlCountry<%=DivName %>"));
$("#ddlCountry<%=DivName %>").val(35);
GetProvinceById<%=DivName %>();
}
})
}
<script>
var myTree;
var pnode;
var ord=0;
function CreateTree() {
alert(urlpath);
myTree = new ECOTree('myTree','myTreeContainer');
myTree.config.colorStyle = ECOTree.CS_LEVEL;
myTree.config.useTarget = false;
myTree.config.defaultNodeWidth = 150;
myTree.config.defaultNodeHeight = 20;
myTree.config.iSubtreeSeparation = 20;
myTree.config.iSiblingSeparation = 15;
$.ajax({
url:'<%=basePath%>taskMonitor.do?method=monitor',
type:'get', //数据发送方式
dataType:'json', //接受数据格式
data:'taskId='+urlpath, //要传递的数据
success : function(json)
{
CreateTreeRootNode(json);
}
})
}
function CreateTreeRootNode(obj)
{
$.each(obj, function(key, value){
if (key=="processName")
{
pnode = myTree.add(0,-1,value);
}
if(typeof(value)=="object")
{
CreateTreeChilrenNode(value);
}
})
myTree.UpdateTree();
}
function CreateTreeChilrenNode(obj)
{
ord = ord + 1;
$.each(obj, function(key, value){
if (key=="processName")
{
pnode = myTree.add(ord,pnode.id,value);
}
if(typeof(value)=="object")
{
CreateTreeChilrenNode(value);
}
})
}
function getallNodes(obj)
{
alert("进入节点...")
$.each(obj, function(i, item){
if(typeof(item)=="object")
{
getallNodes(item);
}
});
}
</script>