• <menu id="w2i4a"></menu>
  • logo jQuery EasyUI使用教程

    文檔首頁(yè)>>jQuery EasyUI使用教程>>jQuery EasyUI使用教程:加載父/子節(jié)點(diǎn)到樹(shù)中

    jQuery EasyUI使用教程:加載父/子節(jié)點(diǎn)到樹(shù)中


    Kendo UI for jQuery——?jiǎng)?chuàng)建現(xiàn)代Web應(yīng)用程序的最完整UI庫(kù)!查看詳情>>>

    通常表示一個(gè)樹(shù)節(jié)點(diǎn)的方式就是在每一個(gè)節(jié)點(diǎn)存儲(chǔ)一個(gè)parentid,這個(gè)也被稱為鄰接列表模型。直接加載這些數(shù)據(jù)到樹(shù)中是不允許的。但是我們可以在加載樹(shù)形菜單之前,把它轉(zhuǎn)換為標(biāo)準(zhǔn)的樹(shù)形數(shù)據(jù)格式。樹(shù)插件提供一個(gè)'loadFilter'選項(xiàng)函數(shù),它可以實(shí)現(xiàn)這個(gè)功能。它提供一個(gè)機(jī)會(huì)來(lái)改變?nèi)魏我粋€(gè)輸入數(shù)據(jù)。本教程向您展示如何使用'loadFilter'函數(shù)加載父/子節(jié)點(diǎn)到樹(shù)中。

    添加節(jié)點(diǎn)到樹(shù)形菜單

    父/子節(jié)點(diǎn)數(shù)據(jù)

    [
    {"id":1,"parendId":0,"name":"Foods"},
    {"id":2,"parentId":1,"name":"Fruits"},
    {"id":3,"parentId":1,"name":"Vegetables"},
    {"id":4,"parentId":2,"name":"apple"},
    {"id":5,"parentId":2,"name":"orange"},
    {"id":6,"parentId":3,"name":"tomato"},
    {"id":7,"parentId":3,"name":"carrot"},
    {"id":8,"parentId":3,"name":"cabbage"},
    {"id":9,"parentId":3,"name":"potato"},
    {"id":10,"parentId":3,"name":"lettuce"}
    ]

    使用'loadFilter“創(chuàng)建樹(shù)

    $('#tt').tree({
    url: 'data/tree6_data.json',
    loadFilter: function(rows){
    return convert(rows);
    }
    });

    執(zhí)行轉(zhuǎn)換

    
    function convert(rows){
    function exists(rows, parentId){
    for(var i=0; i&ltrows.length; i++){
    if (rows[i].id == parentId) return true;
    }
    return false;
    }
    
    var nodes = [];
    // get the top level nodes
    for(var i=0; i&ltrows.length; i++){
    var row = rows[i];
    if (!exists(rows, row.parentId)){
    nodes.push({
    id:row.id,
    text:row.name
    });
    }
    }
    
    var toDo = [];
    for(var i=0; i&ltnodes.length; i++){
    toDo.push(nodes[i]);
    }
    while(toDo.length){
    var node = toDo.shift(); // the parent node
    // get the children nodes
    for(var i=0; i&ltrows.length; i++){
    var row = rows[i];
    if (row.parentId == node.id){
    var child = {id:row.id,text:row.name};
    if (node.children){
    node.children.push(child);
    } else {
    node.children = [child];
    }
    toDo.push(child);
    }
    }
    }
    return nodes;
    }

    下載EasyUI示例:easyui-tree-demo.zip

    購(gòu)買正版授權(quán)的朋友可以點(diǎn)擊"咨詢?cè)诰€客服"哦~~~
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();