Передать массив JSON из PHP в Dynatree - PullRequest
1 голос
/ 25 марта 2012

Я впервые использую Dynatree и написал скрипт PHP, который возвращает правильно отформатированный массив JSON.

Я прочитал документацию Dynatree , но не могу понятьКак передать массив JSON из моего PHP-скрипта, чтобы его содержимое могло быть загружено в виде древовидной структуры.

В верхней части моего HTML-файла я использую <?php include('tree.php') ?>, который автоматически возвращает отформатированный JSONмассив (названный $categories).Я также подойдет для вызова функции из JavaScript для извлечения дерева, если это облегчит задачу.

Может кто-нибудь показать мне, как доставить мой массив в Dynatree?

Ответы [ 2 ]

3 голосов
/ 25 марта 2012

Вы можете использовать атрибут data-, например:

<?php
$dynaConfig = array('children'=>array(
    array('title' => 'Alice'), 
    array('title' => 'Bob')
));
$dynaConfigJSON = json_encode($dynaConfig);

// HTML head goes here
echo '<div id="tree" data-dyna="' . htmlspecialchars($dynaConfigJSON) . '">';
?>

<script>
$(function() {
   var dtConfig = $.parseJSON($('#tree').attr('data-dyna'));
   $('#tree').dynatree(dtConfig);
});

Вот живой пример и соответствующий полный исходный код .

2 голосов
/ 21 сентября 2012

Вы также можете отделить код php в файле, подобном tree.php, и затем вызвать его в javascript.

<div id="tree">  </div>
<script type="text/javascript">
  $(function(){
    $("#tree").dynatree({
      initAjax: {
        url: "tree.php"
        }
      }
    }
</script>
...