Dynatree – Onde posso armazenar informações adicionais em cada nó?
-
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.
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.