2012-08-15 73 views
0

我尝试获取树结构,所以我使用树控件。 但是我首先要得到根级别的项目,然后点击其中一个我想要它的孩子。在jquery中的异步请求(获取)

于是我就用下面的代码Get请求:

$(function() { 
    $('#tt').tree({ 
     onBeforeExpand: function(node) { 
      var count = getChildren(node); 
      if (count == 0) { 
       var hospitalId = node.id; 

       $.getJSON('@Url.Action("LoadDepartments")', { 
        hospitalId: hospitalId 
       }, function(result) { 

        if (result != null) { 
         $('#tt').tree('append', { 
          parent: node.target, 
          data: result 

         }); 
        } 
       }); 
      } 
     } 
    }); 
});​ 

在此功能中我得到选定的父节点的数据,并将其追加到树形结构。我希望在点击父节点之后看到这个子元素并展开它。但是我只能在关闭之后才看到子元素,然后再将其展开。但是,如果我使用调试,并通过干,我立即看到结果。

也许我应该使用延迟?

+3

我不明白什么预期和实际结果是什么。你能否试着重新提出你的问题? – 2012-08-15 08:26:50

+0

我有更新我的问题 – revolutionkpi 2012-08-15 08:53:46

回答

0

也许你应该将onBeforeExpand更改为onExpand?确保data确实加载并注入扩展。

从文档:

onExpand:时触发节点被展开。

如果您提供指向正在使用的jQuery插件的链接,它也将有所帮助。

+0

http://www.jeasyui.com/documentation/index.php#这里是树控件,谢谢 – revolutionkpi 2012-08-15 09:09:49

+0

@revolutionkpi编辑我的答案 – 2012-08-15 09:12:51