2011-12-13 33 views
8

Actualmente estoy trabajando en algunos POC usando el plugin JS Tree y el complemento de casilla de verificación relacionado. Para ciertos nodos que necesito para comprobar la casilla de verificación por defecto y desactivar más lejos selection.I conocer la función de ocultar la casilla de verificaciónjstree disable checkbox

.bind("load_node.jstree", function (e, data) { 
      $(this).find('li[rel!=file]').find('.jstree-checkbox:first').hide(); 
     }); 

en lugar de ocultar por completo la casilla de verificación Quiero encontrar una manera de desactivar casilla de verificación para ciertos nodos

+0

Considere la reescritura de la cuestión con el fin de ser más undestandable. – athspk

Respuesta

10

Deberá definir un tipo "deshabilitado" (usando el plugin de tipos) y luego asignar ese tipo al nodo deseado.

Tomemos por ejemplo esta "desactivado" tipo de definición:

  "types" : { 
       "types": { 
       "disabled" : { 
         "check_node" : false, 
         "uncheck_node" : false 
        } 
       } 
      } 

y el tipo assigment:

$.jstree._reference('#tree').set_type("disabled", "#node5"); 

Más información sobre los tipos de módulo se pueden encontrar here y también se puede comprobar this google group with more info on disabling checkboxes

Espero que ayude!

1

Gracias a mcabral y Tomasz por su respuesta. Me ayudó a lograr el resultado correcto. Sin embargo, necesitaba agregar algunas líneas adicionales para que funcione correctamente. Esto es lo que hice:

Es necesario agregar dos atributos a la wich <li> etiqueta son el rel='disable' para indicar jstree que este será el nuevo tipo para la casilla de verificación, en lugar de por defecto y el atributo class='jstree-checked' que se pre-check las casillas de verificación al cargar el árbol.

$rel = ('if the checkbox need to be pre-checked')? 'rel="disabled" class="jstree-checked"' : ''; 
      echo '<li id="checkbox_id" '. $rel .'>'; 

entonces basándose en la respuesta anterior es necesario definir el tipo 'desactivar' que se utilizó en el atributo rel de la siguiente manera:

.jstree({ 
        "types" : 
        { 
         "types" : { 
          "disabled" : { 
           "check_node" : false, 
           "uncheck_node" : false 
          } 
         } 
        }, 
     "plugins" : ["themes","html_data","ui","crrm","types", "checkbox"], 
        "checkbox" : { "two_state" : true }, 
    })