Данный вид зависимостей (ZForms.Dependence.TYPE_CLASS) позволяет управлять дополнительными, пользовательскими CSS-классами виджета.
oDependedClasses : {
Array aData : [],
Function fFunction : null,
String sName : null,
String sId : null,
String sLogic : 'and',
Array aFrom : []
}Где:
[[rPattern1, sClassName1, bInverse1], …, [rPatternN, sClassName2, bInverseN]], представляющий собой соответствия между проверяемым значением и CSS-классами, которые будут добавлены виджету при совпадении проверяемого значения. Параметр bInverse позволяет инвертировать результат проверки.id виджета. Применяется только в том случае, когда несколько виджетов имеют одинаковое имя, а зависимость нужно указать от конкретного виджета.[{ sName : 'имя_виджета_1', aData : null, … }, …, { sName : 'имя_виджета_N', aData : null, … }]. Параметр необходим, когда дополнительные CSS-классы виджета зависят от значений нескольких виджетов. Каждый из элементов этого массива может включать все предыдущие параметры.Значение виджета проверяется с помощью заданного регулярного выражения rPattern. В случае совпадения виджету добавляется соответствующий CSS-класс sClassName.
Вместо регулярного выражения может быть указана строка (в этом случае проверяется полное совпадение).
<form class="zf" action=".">
<dl class="zf zf-radiobuttongroup">
<dt>Пол</dt>
<dd>
<div class="zf-option">
<input class="zf" type="radio" name="sex" id="input-sex-1" value="0" checked="checked" />
<label for="input-sex-1">мужской</label>
</div>
<div class="zf-option">
<input class="zf" type="radio" name="sex" id="input-sex-2" value="1" />
<label for="input-sex-2">женский</label>
</div>
</dd>
</dl>
<dl class="zf zf-radiobuttongroup male" onclick="return { oDependedClasses : { sName : 'sex', aData : [['0', 'male'], ['1', 'female']] } }">
<dt><label>Семейный статус</label></dt>
<dd>
<div class="zf-option">
<input class="zf" type="radio" name="marital-status" id="input-marital-status-1" value="0" checked="checked" />
<label for="input-marital-status-1">
<span class="male">холост</span>
<span class="female">не замужем</span>
</label>
</div>
<div class="zf-option">
<input class="zf" type="radio" name="marital-status" id="input-marital-status-2" value="1" />
<label for="input-marital-status-2">
<span class="male">женат</span>
<span class="female">замужем</span>
</label>
</div>
<div class="zf-option">
<input class="zf" type="radio" name="marital-status" id="input-marital-status-3" value="2" />
<label for="input-marital-status-3">
<span class="male">разведен</span>
<span class="female">разведена</span>
</label>
</div>
</dd>
</dl>
</form>Этому примеру соответствуют CSS-правила:
.male .female,
.female .male {
display: none;
}