用ajax显示树

时间:2017-03-10 04:10:55

标签: jquery html ajax

我在mysql表中有树数据。我有ID和parentID。我希望用Ajax显示树结构。当我点击节点时,我想向页面发送一个参数并返回一个数据,然后使用这些数据来显示子节点。

<body>
<div id='jstree'>
</div>
<script>
  $(function () {
    // 6 create an instance when the DOM is ready
    $('#jstree').jstree({
      'core' : {
      'data' : {
       'url' : 'abc.asp?',
      'data' : function (node) {
       return { 'accno' : node.id };
     }
   }
  }
});
    // 7 bind to events triggered on the tree
    $('#jstree').on("changed.jstree", function (e, data) {
      console.log(data.selected);
    });
    // 8 interact with the tree - either way is OK
    $('button').on('click', function () {
      $('#jstree').jstree(true).select_node('child_node_1');
      $('#jstree').jstree('select_node', 'child_node_1');
      $.jstree.reference('#jstree').select_node('child_node_1');
    });
  });
 </script>
</body>

我真的希望你们能帮助我。在我的研究之后我想要实现的是懒惰加载。 假设我有一个包含以下数据的SQL表。

   Accno    Referral 
    L1A
    L1B  
    L2A1       L1A   
    L2A2       L1A
    L2A3       L1A    
    L2B1       L1B
    L2B2       L1B
    L2B3       L1B
    L3A1       L2A1
    L3A2       L2A1 
    L3B1       L2B3 
    L3B2       L2B2
   and so on
  1. 最初我想加载L1A和L1B,+符号表示他们有孩子
  2. 点击带有孩子的节点时,请说L1A。
    • 如何将带有accno L1A参数的网址传递给另一个要处理的网页?如何表示node.id是L1A(当我点击节点时会自动检测到它吗?)
  3. 传递网址abc.asp?accno =&#34; L1A&#34;到一个html / asp页面来处理。
  4. 找到accno =&#34; L1A&#34;在SQL语句中, 选择....与推荐=&#39; L1A&#39; 标记有孩子的人和没有孩子的人的结果。
  5. 返回结果。
    • 如何在HTML文件中返回结果?我可以用任何字符串格式化它,但格式是什么?
  6. 而且,JSTREE如何获取结果并显示?
  7. 请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用jstreejsTreejquery插件,提供交互式树。它完全免费,开源并在MIT许可下分发。 jsTree易于扩展,可扩展,可配置,支持HTML&amp; JSON数据源和AJAX加载。

jsTree在箱型(内容盒或边框)中正常运行,可作为AMD模块加载,并具有内置的移动主题,可进行响应式设计,可轻松定制。它使用jQuery的事件系统,因此对树中各种事件的绑定回调很熟悉且容易。

Reference

JSTree Example with Php & Mysql