Доступ к метаданным jstree при двойном щелчке и вызовах ajax - PullRequest
0 голосов
/ 29 апреля 2011

Я использую плагин jQuery jsTree для создания древовидного представления. Он динамически заполняется данными json, где каждый узел содержит метаданные. Когда я раскрываю узел, я хотел бы иметь возможность получить доступ к метаданным узла и передать их как часть вызова AJAX для новых данных json. Я также хочу получить доступ к метаданным, когда дважды щелкаю узел. Может кто-нибудь подсказать, какой код мне нужно вставить в приведенные ниже примеры кода?

$("#tree").jstree({ 
    "json_data" : {
        "ajax": {
            "url": "/url",
            "data": function(n) {
                // NEED METADATA HERE
            }
        }
    }
});

$("#tree").delegate("a", "dblclick", function(e) {
    // NEED METADATA HERE
});

Ответы [ 2 ]

0 голосов
/ 25 августа 2011
 $("#tree").jstree({ 
    "json_data" : {
        "ajax": {
            "url": "/url",
            "data": function(n) {
                // NEED METADATA HERE
                var node = $.data(n[0], "jstree");
                alert(node); // THIS IS YOUR REQUIRED META DATA
            }
        }
    }
});

$("#tree").delegate("a", "dblclick", function(e) {
    // NEED METADATA HERE
});
0 голосов
/ 06 мая 2011

Я не уверен, что делать это можно в функции данных, но вместо делегата вы можете сделать это.

$('#tree').bind("select_node.jstree", function(event, data){
console.log(data.rslt.obj.data('jstree')); //data.rslt.obj.data('jstree') will contain all metadata you have set
});
...