JS,JQuery,之数组三维for循环

来源:互联网 发布:牧草大数据 编辑:程序博客网 时间:2024/05/21 21:35

array(3) {  [9]=>  array(11) {    ["actionid"]=>    string(1) "9"    ["actionname"]=>    string(12) "一级菜单"    ["child"]=>    array(3) {      [0]=>      array(11) {        ["actionid"]=>        string(2) "25"        ["actionname"]=>        string(6) "二级菜单"        ["child"]=>        array(3) {          [0]=>          array(10) {            ["actionid"]=>            string(2) "13"            ["actionname"]=>            string(12) "三级菜单"  }          [1]=> array(10) {  ["actionid"]=> string(2) "23"  ["actionname"]=> string(21) "三级菜单" }  }  }

这个问题是在,设计后台管理系统的时候遇到的,由于自己对JS不了解,也不怎么会写JS代码,所以一直没有想到比较好的方法。当然直接用PHP的foreach循环非常好解决,但是,我只是想试一试JS到底能不能实现,这样的三维数组的输出。


主要是可以实现前后端的分离


面对后端传到前端的这样的代码(如下数组

1、后端传过来的数组:

array(3) {  [9]=>  array(11) {    ["actionid"]=>    string(1) "9"    ["actionname"]=>    string(12) "一级菜单"    ["child"]=>    array(3) {      [0]=>      array(11) {        ["actionid"]=>        string(2) "25"        ["actionname"]=>        string(6) "二级菜单"        ["child"]=>        array(3) {          [0]=>          array(10) {            ["actionid"]=>            string(2) "13"            ["actionname"]=>            string(12) "
三级菜单
" } [1]=> array(10) { ["actionid"]=> string(2) "23" ["actionname"]=> string(21) "三级菜单" ["parentid"]=> string(2) "25" ["levelid"]=> string(1) "3" ["menuorderid"]=> string(1) "2" ["module"]=> string(5) "index" ["controller"]=> string(5) "video" ["action"]=> string(9) "ListVideo" ["viewmode"]=> string(1) "1" ["createdate"]=> string(19) "2014-04-19 18:37:42" } } }

2、JS,JQuery代码实现:

 实现代码如下:

<span style="font-size:14px;">    function powerlist(res) {        for (var trees in res) {            var parenttree = res[trees].actionname;                tmp = $('.first.hide_templete').clone();//克隆                $('.firsttree', tmp).text(parenttree);                tmp.removeClass('hide_templete');//移除隐藏class值                tmp.children().addClass('ab'+res[trees].actionid);//为每个一级父节点设置不同的class值                tmp.appendTo('.powertree');//将克隆的添加到他的父节点            var childs = res[trees].child;            for (var tree in childs) {                var firstchild     = childs[tree].actionname;                tmp2 = $(".second.hide_templete").clone();                $('.secondtree', tmp2).text(firstchild);                tmp2.removeClass('hide_templete');                tmp2.children().addClass('a'+childs[tree].actionid);                tmp2.appendTo('.ab'+res[trees].actionid);                var second = childs[tree].child;                for ( var child in second) {                    var secondchild = second[child].actionname;                    tmp3 = $('.third.hide_templete').clone();                    $('.thirdtree', tmp3).text(secondchild);                    tmp3.removeClass('hide_templete');                    tmp3.appendTo('.a'+childs[tree].actionid);                }               }           }       }   </span>


0 0
原创粉丝点击