2015-05-26 11 views
5

muszę zmienić widoku drzewa ikony i włączanie/wyłączanie pól wyboru
proszę zobaczyć poniższy kod:różne ikony widoku drzewa i włączyć/wyłączyć pola wyboru w 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"] 
      }); 

To nie wydają się działać.

Drzewo jest wyświetlane przy użyciu tych samych ikon folderów dla każdego węzła i pole wyboru jest zawsze obecne dla każdego węzła, czy nie powinno być wyłączone dla węzła "root"? Czy możesz mi powiedzieć, co jest nie tak?

Odpowiedz

1

Masz wymienione plugins dwukrotnie w config:

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

zmienić na pojedynczy wpis:

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

jednak zachować w umyśle nie ma opcji (w v.3, jeśli jest wersją, której używasz), aby zapobiec działaniom opartym na typie węzła. Ale za pomocą najnowszej jsTree commit można wyłączyć wyboru w przeliczeniu na węźle podstawy za pomocą właściwości węzła state (można również wyłączyć cały węzeł) - jeśli to, co trzeba rzucić okiem tutaj:
jsTree disable some of the checkboxes

+0

Dzięki! To pomaga! –