нельзя использовать метод addChild - PullRequest
1 голос
/ 12 марта 2012

Я впервые использую плагин 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>

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

Возможно, это не ваша проблема, но она того стоит. Иногда при использовании 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>
0 голосов
/ 12 марта 2012

Прежде чем вы сможете вызвать dynatree("getRoot"), вам нужно инициализировать дерево, например, в простейшем случае

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

должно работать.Вместо этого вы можете передать множество других опций на шаг инициализации дерева, например, см. документацию .

...