zoukankan      html  css  js  c++  java
  • jquery解析json异步功能树

    1.html代码:

        <div class="tree_menu">  
         <ul id="treeRoot"></ul>  
        </div>  


    2.定义的json格式:json对象一般用双引号,并且文件编码方式为utf-8


        [{  
          
        "id":"01",  
          
        "name":"中国",  
          
        "items":[{  
          
        "id":"0101",  
          
        "name":"北京市",  
          
        "items":[{  
          
        "id":"0101",  
          
        "name":"东城区"  
          
        }]  
          
        }]  
          
        },  
          
        {  
          
        "id":"02",  
          
        "name":"美国"  
          
        }]  


    3.javascript解析json数组


        var baseUrl = window.location.host;  
        function createTreeNode(){  
         $.getJSON("http://"+baseUrl+"/json/js/treeData.json",function(data){  
          $("#treeRoot").empty();  
          var htmlstr = '';  
          $.each(data,function(itemsIndex,item){  
           htmlstr += "<li id='"+item.id+"'><span class='hitarea'>"+item.name+"</span>";  
           if(item.items && item.items.length > 0){  
            htmlstr +="<ul id='ul"+item.id+"' title='"+itemsIndex+"'></ul>";  
           }  
           htmlstr +="</li>";  
          });  
          $("#treeRoot").append(htmlstr);   
          function loadData(treeRoot,json){  
           var hitarea = treeRoot.find("li>span.hitarea");  
           var titAttr = treeRoot.find("ul").attr("title");  
           hitarea.each(function(i){  
            hitarea.eq(i).one("click",function(){  //第一次点击时加载子项  
             var itemUl = json[titAttr].items;  
             var newUl = $(this).next("ul");  
             var html = '';  
             $.each(itemUl,function(indexItems,item){  
              html += "<li id='"+item.id+"'><span class='hitarea'>"+item.name+"</span>";  
              if(item.items && item.items.length > 0){  
               html +="<ul id='ul"+item.id+"' title='"+indexItems+"'></ul>";  
              }  
              html +="</li>";  
             });  
             newUl.append(html);  
             loadData(newUl,itemUl);  //递归调用loadData方法  
            })  
           })  
          }  
          loadData($("#treeRoot"),data);  
         })  
        };  
        $(document).ready(function(){  
         createTreeNode();  
        })  




  • 相关阅读:
    python的高级特性
    python方向
    快速搜索
    计算机组成原理——总线
    计算机组成原理——指令系统
    计算机组成原理——cpu
    计算机组成原理——2
    git提交时报错处理办法
    快速的在linux服务器上安装jdk8
    python的包管理软件Conda的用法
  • 原文地址:https://www.cnblogs.com/dqsweet/p/4927749.html
Copyright © 2011-2022 走看看