2015-05-26 9 views
5

ho bisogno di cambiare le icone di visualizzazione albero e attivare/disattivare le caselle di controllo
si prega di consultare il codice qui sotto:vista differenti albero icone e attivare/disattivare le caselle di controllo in 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"] 
      }); 

Non sembra funzionare.

L'albero viene visualizzato utilizzando le stesse icone di cartella per ogni nodo e la casella di controllo sempre presente per ogni nodo, non dovrebbe venire disabilitata per il nodo "root"? Potrebbe per favore farmi sapere cosa c'è che non va?

risposta

1

che hai elencato plugins due volte nella configurazione:

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

Change che ad una singola voce:

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

Tuttavia tenere a mente non esiste alcuna opzione (in v.3, se questo è la versione che stai utilizzando) per prevenire azioni basate sul tipo di nodo. Ma usando il jsTree più recente commettere è possibile disattivare le caselle di controllo su una base per nodo utilizzando la proprietà state del nodo (si può anche disattivare l'intero nodo) - se questo è ciò che è necessario avere uno sguardo qui:
jsTree disable some of the checkboxes

+0

Grazie! Questo aiuta! –

Problemi correlati