Dynatree - Где я могу хранить дополнительную информацию в каждом узле? - PullRequest
6 голосов
/ 16 мая 2011

В настоящее время я тестирую Dynatree и хочу спросить, есть ли доступное свойство / параметр, в котором я могу хранить дополнительную информацию (например, свойство 'value' в ASP.NET TreeView) для каждого узла?Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 16 мая 2011

Вы можете добавить пользовательские свойства, используя HTML с атрибутом data (работает, хотя валидатор может пожаловаться.)

Например, добавить новое свойство url :

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

Или при загрузке из объектов JSON или JS:

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

После этого вы можете получить к нему доступ следующим образом:

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

РЕДАКТИРОВАТЬ: Начиная с версии 1.2 * теги <a> поддерживаются изначально ( Как сделать гиперссылки в плагине dynaTree jQuery интерактивными? ).

0 голосов
/ 14 ноября 2011

Если вы добавляете данные для чтения dynatree, то мар10 верен. Например, если вы хотите, чтобы dynatree не отображал значки, вы можете использовать следующее:

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

К сожалению, это не совсем корректный HTML, и мой валидатор HTML5 (Visual Studio 2010 SP1) любит жаловаться на это.

Если вы просто хотите встроить свои собственные данные, HTML5 позволяет добавлять атрибуты data- * к вашим элементам li:

<li data-myprop="myvalue">

Вот дополнительная информация от HTML5Doctor .

...