我第一次使用dynatree插件,我试图动态添加节点。我的代码如下:

function DrawTree() {
 var names = GetChildName();  
 var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
 var childNode = rootNode.addChild({ title: names[0].Name });
}

在运行时显示错误

Microsoft JScript运行时错误:对象不支持此属性或方法

我是不是错过了什么??我已经验证了我包含了所需的库 :

<script src="Jquery/jquery/jquery.js" type="text/javascript"></script>
<script src="Jquery/jquery/jquery-ui.custom.js" type="text/javascript"></script>
<script src="Jquery/jquery/jquery.cookie.js" type="text/javascript"></script>

<link href="Jquery/src/skin-vista/ui.dynatree.css" rel="stylesheet" type="text/css" />
<script src="Jquery/src/jquery.dynatree.js" type="text/javascript"></script>

提前感谢!

有帮助吗?

解决方案

这可能不是你的问题,但它值得拍摄。有时,使用其他库使用jQuery时,您可以与冲突的代码一起冲突。jQuery使用$符号作为jQuery的快捷方式。Dynatree库也使用美元符号来获取其功能。

我在实现我的树时遇到了这个问题,这就是我修复它的方式。正如您所看到的,我用'jquery'更换所有'$'。

<script type="text/javascript">
jQuery.noConflict();

function DrawTree() {
    var names = GetChildName();
    jQuery("#ProcessRoleTree").dynatree();

    var rootNode = jQuery("#ProcessRoleTree").dynatree("getRoot");

    //Try adding a key
    var childNode = rootNode.addChild({ title: names[0].Name, key: "001" });
}
</script>
.

其他提示

您需要先初始化树,然后才能调用 dynatree("getRoot"), ,例如在最简单的例子中

function DrawTree() {
  var names = GetChildName();
  $("#ProcessRoleTree").dynatree();
  var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
  var childNode = rootNode.addChild({ title: names[0].Name });
 }

应该工作。相反,您可以将许多其他选项传递到树初始化步骤中,例如见 文件.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top