Слушатель xtype selection не может получить доступ к мультиполю, а мультиполе не может запустить диалоговое окно.
Я работал над отключением контента и игнорированием данных, которые заполняются в поле выбора, которое является частью мультиполя, которое поставляется с диалогом CQ5
ниже приведен код, который не работает
<medicineType
jcr:primaryType="cq:Widget"
fieldLabel="medicine Type : "
name="./medicinetype"
blankText="medicine Type"
type="radio"
xtype="selection">
<options jcr:primaryType="cq:WidgetCollection">
<inactive
jcr:primaryType="nt:unstructured"
text="medicine Lead"
value="medicinelead" />
<active
jcr:primaryType="nt:unstructured"
text="doctor Lead"
value="doctorlead" />
</options>
<listeners jcr:primaryType="nt:unstructured"
selectionchanged="function(box,value){
if(value == 'medicinelead'){
var ans = box.findParentByType('dialog').form.findField('./medicinedoctorset');
ans.setDisabled(true);
ans.getEl().up('.x-form-item').setDisplayed(false);
}
"/>
</medicineType>
<medicinedoctorset
fieldLabel="doctor cards"
jcr:primaryType="cq:Widget"
name="./medicinedoctorset"
xtype="multifield">
<fieldConfig
jcr:primaryType="cq:Widget"
type="select"
options="/apps/doctor-api/components/medicineview/doctorcards.json"
optionsRoot="doctorcards"
optionsTextField="label"
optionsValueField="id"
xtype="selection" />
</medicinedoctorset>
1 ответ
Решение
Не уверен, что именно вы пытаетесь сделать в коде, но мне кажется, что вы пытаетесь отключить определенное поле medicinedoctorset. Попробуйте добавить идентификатор в поле, которое вы хотите отключить, получить и отключить поле как CQ.Ext.getCmp("idOfTheFieldToBeDisabled"). SetDisabled(true); Надеюсь это поможет.