2016-04-25 5 views
0

MagentoにバンドルされているExtJsを使って、ノードをチェックした後に行からカテゴリノードを無効にする作業をしています。ExtJsのノードを無効にすると、チェックボックスは引き続き利用できますか?

ノードを同じ 'レベル'から無効にすることはできますが、チェックボックスの入力はまだチェックできません。

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); 

そして、これは、このコードが何をするのか理解するためのキャプチャです:

これは、これまでの私のコードです。 enter image description here

+0

あなたはバイオリンを作るていただけますか?あなたのイメージをクリックすると何も起こりません。 – Alexander

答えて

0

は、無効にするか、設定入力が読み取り専用モードでは、各入力に属性をDomQueryを使用して設定する必要があります。

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