2016-04-25 5 views
0

Ich arbeite mit ExtJs gebündelt mit Magento zu deaktivieren Kategorie Knoten aus einer Zeile nach dem Überprüfen eines Knotens.Warum deaktivieren Knoten in ExtJs Kontrollkästchen noch verfügbar?

Ich bin in der Lage, Knoten von der gleichen 'Ebene' zu deaktivieren, aber Checkbox-Eingänge noch verfügbar, um sie zu überprüfen.

Dies ist mein Code so weit:

tree.on('check', function(node) { 
    if(node.attributes.checked) { 
     categoryAdd(node.id); 
     //disable nodes except checked Node 
     for (var i = 0; i < node.parentNode.childNodes.length; i++) { 
      var actualNode = node.parentNode.childNodes[i]; 
      if (!actualNode.attributes.checked) { 
       actualNode.disable(); 
      } 
     } 
    } else { 
     categoryRemove(node.id); 
     //enable all nodes 
     for (var i = 0; i < node.parentNode.childNodes.length; i++) { 
      var actualNode = node.parentNode.childNodes[i]; 
      actualNode.enable(); 
     } 
    } 
    varienElementMethods.setHasChanges(node.getUI().checkbox); 
}, tree); 

Und das ist ein Capture zu verstehen, was dieser Code tut. enter image description here

+0

Könnten Sie bitte eine Geige machen? Wenn ich auf dein Bild klicke, passiert nichts. – Alexander

Antwort

0

deaktivieren oder Eingabemodus schreibgeschützt sollten Sie DomQuery verwenden und Attribute zu jedem Eingang:

var readonly = true; 
var checkBoxes = Ext.DomQuery.select("DIV[@id='" + myTreeid + "']")[0].getElementsByTagName("input"); 
Ext.each(checkBoxes, function(cb){ 
    cb.setAttribute('disabled', readonly); 
}); 
Verwandte Themen