2017-01-31 40 views
0

我有此数组:jstree工作不正常

$arr = array(
    '17-GUIDO HUMBERTO -3 ', 
    array( 
     '2-José-3' 
    ), 
    array(
     array(
      '18-juan andres-3' 
     ), 
    ), 
    '17-luis -3 ' 
); 

我有这样的功能:

function listArr($arr) { 
    $html = '<ul>'; 
    foreach ($arr as $item) { 
     if (is_array($item)) { 
      $html .= listArr($item); // <<< here is the recursion 
     } else { 
      $html .= '<li>' . $item . '</li>'; 
     } 
    } 

    $html .= '</ul>'; 
    return $html; 
} 
echo(listArr($tree)); 

然后,添加HTML:

<div class="row"> 
      <div class="col-md-12"> 
       <div class="row"> 
        <div id="jstree"> 
         <?php 
          echo(listArr($tree)); 
         ?> 
        </div> 
       </div> 
      </div> 
      <!-- /.col-md-12 --> 
     </div> 

我怎样才能把18-juan andres-317-GUIDO HUMBERTO -3 AND 17-luis -3 under 18-juan andres-3

17-luis -318-juan andres-317-GUIDO HUMBERTO -3(这是顶部)

我应该如何把数组与jstree正常工作?请帮助谢谢!

+0

如果它是jstree那么我认为你有一些jQuery代码。同样基于文档,你需要创建一个jstree需要的相同格式的数组。 –

+0

@Anant是的,我的jQuery代码只是:$('#jstree')。不再 –

回答

0

问题在于你的数组,因为它们处于不同的级别。 Chage你的阵列到这:

$arr = array(
     '17-GUIDO HUMBERTO -3 ', 
     array(
       '2-Jose-3' 
     ), 
     array(
       'label', 
       array(
         '18-juan andres-3', 
         array('17-luis -3 '), 
       ), 
     ), 

); 

和我没有看到任何$tree宣布。

调用,比如:

echo(listArr($arr)); 

OUTPUT:

17-GUIDO HUMBERTO -3 
    -- 2-Jose-3 
    -- label 
    --- 18-juan andres-3 
    ---- 17-luis -3