2017-01-31 38 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