1

我第一次使用 Dynatree 并编写了一个 PHP 脚本,它返回一个格式正确的 JSON 数组。

我已经阅读了 Dynatree文档,但不知道如何从我的 PHP 脚本中传入 JSON 数组,以便可以将其内容作为树结构加载。

在我的 HTML 文件的顶部,我使用<?php include('tree.php') ?>它自动返回格式化的 JSON 数组(名为$categories)。如果这样更容易,我也可以从 JavaScript 调用一个函数来检索树。

有人可以告诉我如何将我的阵列交付给 Dynatree 吗?

4

2 回答 2

3

您可以使用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);
});

这是一个活生生的例子,以及相应的完整源代码

于 2012-03-25T04:47:43.023 回答
2

您也可以将php的代码分离到tree.php之类的文件中,然后在javascript中调用它。

<div id="tree">  </div>
<script type="text/javascript">
  $(function(){
    $("#tree").dynatree({
      initAjax: {
        url: "tree.php"
        }
      }
    }
</script>
于 2012-09-21T16:55:12.267 回答