2016-08-03 2 views
0

Я пытаюсь реализовать флажок «Выбрать все» в диалоговом окне «Компонент». При выборе/проверке флажка «Выбрать все» необходимо проверить все остальные флажки & при снятии/снятии флажка «все-все», все остальные флажки должны быть отмечены флажком.AEM5.6 | Выделить всю реализацию для диалога

Dialog

код слушателя я написал это

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

} 

Пожалуйста, помогите мне исправить мой код для достижения функциональности.

ответ

3

Существует множество способов достижения этой цели на основе структуры диалога.

Если вкладка/панель содержит только перечисленные выше флажки, а выбор/отмена выбора должен включать/отключать все из них, то следующий код должен сделать трюк.

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

Или установить дополнительное свойство, чтобы определить только те поля, которые нужны такое поведение, и вы можете использовать это свойство, чтобы идентифицировать их, используя код выше и включить или отключить их соответствующим образом.

Для лучшего понимания см. CQ5 Widget API

Смежные вопросы