2016-08-03 4 views
0

Ich versuche, Select-all Kontrollkästchen im Komponentendialog zu implementieren. Wenn Sie alle Kontrollkästchen markieren, müssen alle anderen Kontrollkästchen aktiviert sein. & Wenn Sie das Kontrollkästchen Alle auswählen/abwählen deaktivieren, sollten alle anderen Kontrollkästchen deaktiviert sein.AEM5.6 | Wählen Sie alle Implementierungen für den Dialog

Dialog

Der Zuhörer Code, den ich geschrieben habe, ist

function() 
{ 
    var type = this.getValue(); 
    var flag = true; 


    if(type==''){ 
     flag = false; 
    } 
    if(!flag){ 
     this.findParentByType('dialog').getField('./pricingVividBlack').defaultValue = false; 
    } 
    else{ 
     this.findParentByType('dialog').getField('./pricingVividBlack').defaultValue = true; 
    } 

} 

Bitte helfen Sie mir meinen Code zu korrigieren, die Funktionalität zu erreichen.

Antwort

3

Es gibt viele Möglichkeiten, dies basierend auf Ihrer Dialogstruktur zu erreichen.

Wenn das Tab-Panel/Panel nur die obigen Checkboxen enthält und die Auswahl/Deaktivierung alle aktivieren/deaktivieren sollte, dann sollte der folgende Code den Trick machen.

function(field, val, isChecked) { 
    var panel = field.findParentByType('panel'); 
    var selections = panel.findByType('selection'); 

    if (isChecked) { 
     CQ.Ext.each(selections, function() { 
      if (this.isCheckbox) { 
      this.setValue(true); 
      } 
     }); 
    } else { 
     CQ.Ext.each(selections, function() { 
      if (this.isCheckbox) { 
      this.setValue(false); 
      } 
     }); 
    } 
} 

Oder stellen Sie eine zusätzliche Eigenschaft nur die Felder zu identifizieren, die dieses Verhalten muss und Sie diese Eigenschaft verwenden, kann sie mit dem obigen Code zu identifizieren und aktiviert oder sich entsprechend deaktiviert. Weitere Informationen finden Sie unter CQ5 Widget API

Verwandte Themen