Проверяется следующее:
<combobox id="validateVoucher" hflex="2" value="True">
<comboitem label="True" value="true" />
<comboitem label="False" value="false" />
</combobox>
Здесь следует отметить несколько вещей. Прежде всего, это то, что true
и false
не являются допустимыми идентификаторами. Если вы используете ZKStudio, он выдаст вам предупреждение
Синтаксическая ошибка в токене "true", неверный VariableDeclaratorId
Все по-прежнему работает, как и ожидалось, неожиданно, но предупреждения не следует игнорировать.
Если вы намерены установить id
для хранения некоторых полезных «данных», которые будут извлечены позже, правильный способ сделать это — использовать поле value
. Это то же самое, что и в HTML, читайте подробнее о теге HTML select
, чтобы ознакомиться с рекомендациями.
Наконец, как предложил Прабхат, вы можете заранее определить выбранный комбо-элемент, указав value
в combobox
. Обратите внимание, что поле value
в combobox
не сопоставляется с полем value
в comboitem
.
На самом деле здесь вы устанавливаете отображаемое по умолчанию значение combobox
, которое ZK затем сопоставит с label
на одном из comboitem
. Чтобы лучше понять это, попробуйте установить value
из combobox
на «тарабарщину». combobox
будет отображаться с этим текстом, но когда вы развернете раскрывающееся меню, ни «Истина», ни «Ложь» не будут предварительно выбраны.
Дополнительные 2 цента:
Если вы хотите, чтобы пользователь мог выбрать только «Истина» или «Ложь», установите readonly=true
на combobox
person
Sean Connolly
schedule
21.12.2012