Я передаю данные Django JSON Jstree, но они не работают нормально - PullRequest
2 голосов
/ 09 ноября 2011

Я использую в Django + django-mptt для завершения интерфейса, подобного дереву win-explorer, с помощью jstree:

{% load mptt_tags %}
var nodedata = {
    "data": {
    {% recursetree nodes %}
    "data": "{{ node.nodename }}",   
    "id": "{{ node.id }}", 
    "state":"open",
    "children": [{ {{ children }} }],
    {% endrecursetree %}
    }
};

работает нормально, когда у каждого узла только один дочерний элемент. но когда пользователи создают более одного дочернего узла, он расширяется в jstree, например:

var nodedata = {
    "data": {

    "data": "following1",   
    "id": "1", 
    "state":"open",
    "children": [{ 
    "data": "level3",   
    "id": "4", 
    "state":"open",
    "children": [{ 
    "data": "level 4",   
    "id": "5", 
    "state":"open",
    "children": [{ 
    "data": "New node",   
    "id": "6", 
    "state":"open",
    "children": [{ 
    "data": "New node 2",   
    "id": "7", 
    "state":"open",
    "children": [{  }],
     }],

    "data": "kkk",   
    "id": "8", 
    "state":"open",
    "children": [{  }],
     }],
     }],
     }],

    }
};

узел "kkk" показывает, но "Новый узел" и "Новый узел 2" не отображаются.

Я ищу совет или это лучший способ представить это дерево?

1 Ответ

1 голос
/ 09 ноября 2011

Я думаю, что есть ошибка в вашей переменной json.У вас есть:

"children": [{
    "data": "New node",
    "id": "6",
    "state":"open",
    "children": [{
        "data": "New node 2",
        "id": "7",
        "state":"open",
        "children": [{  }],
    }],
    "data": "kkk",
    "id": "8",
    "state":"open",
    "children": [{  }],
}],

Каждый узел в массиве "children" должен быть в отдельном {}, разделенном запятой.

...