Dynatree – Onde posso armazenar informações adicionais em cada nó?

StackOverflow https://stackoverflow.com/questions/6012734

  •  14-11-2019
  •  | 
  •  

Pergunta

No momento, estou testando o Dynatree e só quero perguntar se existe uma propriedade/parâmetro disponível na qual eu possa armazenar informações adicionais (como a propriedade 'valor' no ASP.NET TreeView) para cada nó.Desde já, obrigado.

Foi útil?

Solução

Você pode adicionar propriedades personalizadas usando HTML com o dados atributo (funciona, embora um validador possa reclamar).

Por exemplo, adicione um novo url propriedade:

<ul>
    <li data="url: 'http://jquery.com'">jQuery home
    <li data="url: 'http://docs.jquery.com'">jQuery docs

Ou ao carregar de objetos JSON ou JS:

children: [
    { title: "jQuery home", url: "http://jquery.com" },
    { title: "jQuery docs", url: "http://docs.jquery.com" },

Depois disso, você pode acessá-lo assim:

onActivate: function(node) {
    if( node.data.url )
        window.open(node.data.url);
    $("#echoActive").text(node.data.title);
},

EDITAR:Começando com a versão 1.2 <a> tags são suportadas nativamente ( Como tornar clicáveis ​​hiperlinks no plugin jQuery do DynaTree? ).

Outras dicas

Se você estiver adicionando dados para serem lidos pelo dynatree, então mar10 está correto.Por exemplo, se você deseja que o Dynatree não exiba ícones, você pode usar o seguinte:

<li data="icon: 'null'">

Infelizmente, este não é um HTML realmente válido e meu validador HTML5 (Visual Studio 2010 SP1) gosta de reclamar disso.

Se você simplesmente deseja incorporar seus próprios dados, o HTML5 permite adicionar atributos data-* aos seus elementos li:

<li data-myprop="myvalue">

Aqui estão algumas informações adicionais de Doutor HTML5.

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