Pergunta

Eu estou usando o dynatree plugin para o primeiro tempo, e eu estou tentando adicionar nós de forma dinâmica.Meu código está abaixo:

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

Em tempo de execução é apresentado um erro

Erro de tempo de execução do Microsoft JScript:O objecto não suporta esta propriedade ou método

Eu estou faltando alguma coisa ??Eu tenho verificar que eu incluídas bibliotecas necessárias :

<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>

Obrigado antecipadamente!

Foi útil?

Solução

Este pode não ser o seu problema, mas vale a pena um tiro.Às vezes, quando usando jQuery com outras bibliotecas, você pode executar em conflitos com conflitos de código.jQuery usa o sinal$, como um atalho para jQuery.O dynatree biblioteca também usar o sinal de dólar para suas funções.

Eu tive esse problema quando a implementação de minha árvore e este é como eu fixo ele.Como você pode ver, eu substituído todas as '$' com '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>

Outras dicas

Você precisa inicializar a árvore antes de você pode chamar dynatree("getRoot"), e.g.o mais simples exemplo

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

deve funcionar.Em vez disso você pode passar muitas outras opções na árvore de inicialização passo, e.g.ver a documentação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top