Данный вид зависимости (ZForms.Dependence.TYPE_ENABLE) позволяет описать условия, при которых виджет включается/выключается. В большинстве случаев соответствует свойству disabled.
oEnabled : {
RegExp rPattern : null,
Object oCompare : null,
Function fFunction : null,
String sName : null,
String sId : null,
Boolean bInverse : false,
Boolean bFocusOnEnable : false,
String sLogic : 'and',
Array aFrom : []
}Первые три параметра определяют, каким образом будет проходить проверка (параметры являются взаимоисключающими в порядке следования, т.е. если передан rPattern, все остальные не учитываются и т.д.):
Вторая группа параметров является дополнительной:
id виджета. Применяется только в том случае, когда несколько виджетов имеют одинаковое имя, а зависимость нужно указать от конкретного виджета.[{ sName : 'имя_виджета_1', rPattern : null, … }, …, { sName : 'имя_виджета_N', rPattern : null, … }]. Параметр необходим, когда проверка включенности виджета зависит от нескольких виджетов. Каждый из элементов этого массива может включать все предыдущие параметры.Значение виджета проверяется с помощью заданного регулярного выражения. Вместо регулярного выражения может быть указана строка (в этом случае проверяется полное совпадение).
<form class="zf" action=".">
<dl class="zf zf-radiobuttongroup">
<dt><label>Страна</label></dt>
<dd>
<div class="zf-option">
<input class="zf" type="radio" name="country" value="1" id="input-country-1" checked="checked" />
<label for="input-country-1">Россия</label>
</div>
<div class="zf-option">
<input class="zf" type="radio" name="country" value="2" id="input-country-2" />
<label for="input-country-2">Украина</label>
</div>
<div class="zf-option">
<input class="zf" type="radio" name="country" value="3" id="input-country-3" />
<label for="input-country-3">Беларусь</label>
</div>
<div class="zf-option">
<input class="zf" type="radio" name="country" value="4" id="input-country-4" />
<label for="input-country-4">другая</label>
</div>
</dd>
</dl>
<dl>
<dt><label for="input-country-other">Название</label></dt>
<dd><input class="zf" type="text" name="country-other" id="input-country-other" onclick="return { oEnabled : { sName : 'country', rPattern : '4', bFocusOnEnable : true } }" /></dd>
</dl>
</form><form class="zf" action=".">
<fieldset class="zf zf-slider zf-range"><legend><span>Слайдер</span></legend>
<dl>
<dt><label for="input-value-from">От</label></dt>
<dd><input class="zf zf-number" type="text" name="value-from" id="input-value-from" size="2" value="30" onclick="return { oEnabled : { sName : 'control', rPattern : '1', bInverse : true } }" />
</dd>
</dl>
<dl>
<dt><label for="input-value-to">до</label></dt>
<dd><input class="zf zf-number" type="text" name="value-to" id="input-value-to" size="2" value="60" onclick="return { oEnabled : { sName : 'control', rPattern : '2', bInverse : true } }" /></dd>
</dl>
</fieldset>
<dl class="zf zf-checkboxgroup zf-nolabel">
<dd>
<div class="zf-option">
<input class="zf" type="checkbox" name="control" value="1" id="input-control-1" checked="checked" />
<label for="input-control-1">отключить левый ползунок</label>
</div>
<div class="zf-option">
<input class="zf" type="checkbox" name="control" value="2" id="input-control-2" />
<label for="input-control-2">отключить правый ползунок</label>
</div>
</dd>
</dl>
</form>Позволяет сравнивает значение виджетов между собой или значение виджета с простым значением. Объект сравнения:
oCompare : {
String sCondition : 'eq',
String sName : null,
String mValue : null
}Где:
eq (=), gt (>), gte (>=), lt (<), lte (<=).<form class="zf" action=".">
<dl>
<dt><label for="input-sum">Сумма кредита</label></dt>
<dd><input class="zf zf-number" type="text" name="sum" id="input-sum" value="1000" /></dd>
</dl>
<dl class="zf zf-checkboxgroup" onclick="return { oEnabled : { sName : 'sum', oCompare : { sCondition : 'gt', mValue : 50000 } }, oRequired : {} }">
<dt><label>Источники дохода</label></dt>
<dd>
<div class="zf-option">
<input class="zf" type="checkbox" name="sources" value="1" id="input-sources-1" />
<label for="input-sources-1">основная работа</label>
</div>
<div class="zf-option">
<input class="zf" type="checkbox" name="sources" value="2" id="input-sources-2" />
<label for="input-sources-2">работа по совместительству</label>
</div>
<div class="zf-option">
<input class="zf" type="checkbox" name="sources" value="3" id="input-sources-3" />
<label for="input-sources-3">собственный бизнес</label>
</div>
<div class="zf-option">
<input class="zf" type="checkbox" name="sources" value="4" id="input-sources-4" />
<label for="input-sources-4">регулярная игра в казино</label>
</div>
</dd>
</dl>
</form>