2015-05-26 1 views
5

Мне нужны изменить значки древовидных и включить/отключить галочки
пожалуйста, смотрите код ниже:различных значкам вида дерева и включить/отключить галочки в jstree

function LoadJSTree() { 
     $.noConflict(); 

     $(function() { 
      $('#demoTree').jstree({ 
       'checkbox': { 
        'keep_selected_style': false, 
        'two_state': true 
       }, 
       "types": { 
        "#": { 
         "max_children": 1, 
         "max_depth": 4, 
         "valid_children": ["root"] 
        }, 
        "root": { 
         "icon": "/static/3.1.1/assets/images/tree_icon.png", 
         "valid_children": ["default"], 
         "check_node": false, 
        }, 
        "default": { 
         "valid_children": ["default", "file"], 
         "check_node": true, 
         "uncheck_node": true 
        }, 
        "disabled":{ 
         "check_node": false, 
         "uncheck_node": false 

        }, 

        "file": { 
         "icon": "glyphicon glyphicon-file", 
         "valid_children": [], 
         "check_node": true, 
         "uncheck_node": true 

        } 
       }, 

       "plugins": ["types"], 
       'core': { 
        'data': [ 
         { 
          "text": "Root node", "type": "root", "parent":"#", "children": [ 
            { "text": "Child node 1", "type": "default" }, 
            { "text": "Child node 2", "type": "default" }, 
            { "text": "Child node 3", "type": "default" }, 
            { "text": "Child node 4", "type": "default" }, 
            { "text": "Child node 5", "type": "default" }, 
            { "text": "Child node 6", "type": "default" }, 
            { "text": "Child node 7", "type": "default" }, 
            { "text": "Child node 8", "type": "default" } 
          ] 
         } 
        ], 

       }, 
       'plugins': ["checkbox"] 
      }); 

Это не похоже на работу.

Дерево отображается с использованием одинаковых значков папки для каждого узла, и флажок всегда присутствует для каждого узла, не должен ли он отключиться для «корневого» узла? Не могли бы вы сообщить мне, что случилось?

ответ

1

Вы перечислили plugins дважды в вашей конфигурации:

"plugins": ["types"], 
... 
'plugins': ["checkbox"] 

Изменение, что к одному входу:

"plugins": ["checkbox", "types"] 

Однако имейте в виду, что нет никакой возможности (в v.3, если это версия, которую вы используете) для предотвращения действий, основанных на типе узла. Но с использованием самых последних jsTree коммит вы можете отключить флажками в расчете на узел основе, используя state свойство узла (вы также можете отключить весь узел) - если это то, что вам нужно взглянуть здесь:
jsTree disable some of the checkboxes

+0

Благодаря! Что помогает! –