AEM5.6 |选择对话框的所有实现

时间:2016-08-03 06:54:23

标签: aem

我正在尝试在“组件”对话框中实现“全选”复选框。 在选择/选中全选复选框时,应检查所有其他复选框。在取消选中/取消选中select-all复选框时,应取消选中所有其他复选框。

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

}

请帮我纠正我的代码以实现功能。

1 个答案:

答案 0 :(得分:3)

根据您的对话框结构,有很多方法可以实现此目的。

如果tabpanel /面板仅包含上述复选框,并且选择/取消选择应启用/禁用所有这些复选框,则以下代码应该可以解决问题。

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