如何在 CQ5 AEM 中禁用 dialog.xml 中的复选框选项?

How to disable checkboxes 's option in dialog.xml in CQ5 AEM?

我设计了下图所示的 CQ5 对话框。我必须禁用图像中突出显示的复选框选项。

而 dialog.xml 就像

<stewartOwned jcr:primaryType="cq:Widget"
  defaultValue="false" fieldLabel="Stewart Owned"
  inputValue="false" name="./stewartOwned" type="checkbox"
  xtype="selection" layout="hbox">
    <options jcr:primaryType="cq:WidgetCollection">
        <option1 jcr:primaryType="nt:unstructured" text=""
          value="stewartOwned" />
        <option2 jcr:primaryType="nt:unstructured" text=""
          value="ShowInAdvanced" />
    </options>
    <optionsConfig jcr:primaryType="nt:unstructured"
      width="150" />
</stewartOwned>
<independent jcr:primaryType="cq:Widget"
  defaultValue="false" fieldLabel="Independent" inputValue="false"
  name="./independent" type="checkbox" xtype="selection"
  layout="hbox">
    <options jcr:primaryType="cq:WidgetCollection">
        <option1 jcr:primaryType="nt:unstructured" text=""
          value="I" />
        <option2 jcr:primaryType="nt:unstructured" text=""
          value="ShowInAdvanced" />
    </options>
    <optionsConfig jcr:primaryType="nt:unstructured"
      width="150" />
</independent>

我试过以下解决方案通过 id 禁用,但它不可行,因为 id 是自动生成的,你永远不知道下一个会话会生成什么 id。

listeners jcr:primaryType="nt:unstructured"
    loadcontent="function(dialog) { 
             CQ.Ext.getDom('ext-comp-1568').disabled = 'disabled';
             CQ.Ext.getDom('ext-comp-1573').disabled = 'disabled';
    }" />

有人可以建议我如何禁用 dialog.xml 中突出显示的复选框吗?

经过大量研究和阅读 CQ5 文档,我找到了以下解决方案。

var nameField = 
dialog.getField('./name').getEl().child('input[value*=ShowInAdvanced]').id;
CQ.Ext.getDom(nameField).disabled = 'disabled';