ZK Comboobox с предопределенным заданным значением

Я хочу создать в ZK простой комбобокс с 2 пунктами: true и false. Поле со списком должно иметь в качестве установленного значения по умолчанию истинный элемент. Хотя это кажется простым, мне не удалось найти ни одного онлайн-ресурса, объясняющего такой простой компонент.

Код отображается ниже:

<combobox id="validateVoucher" hflex="2">
    <comboitem id="true" label="True"/>
    <comboitem id="false" label="False"/>
</combobox>

Заранее спасибо!


person Anto    schedule 13.12.2012    source источник
comment
можно ли установить id в true или false? Я думаю, вы можете просто установить для атрибута value тега со списком значение по умолчанию.   -  person boskonovic    schedule 13.12.2012
comment
Мне непонятно, что вы имеете в виду   -  person Anto    schedule 13.12.2012
comment
сначала я думаю, что вы не можете использовать true или false в качестве идентификаторов. Во-вторых, если вы хотите установить значение по умолчанию для вашего поля со списком, просто используйте атрибут value. ‹значение поля со списком=true ›.   -  person boskonovic    schedule 13.12.2012


Ответы (2)


Проверяется следующее:

<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
comment
Хороший, подробный ответ и дополнительные баллы за предложение readonly = false. - person kachhalimbu; 26.12.2012

Используйте это так:

<combobox id="validateVoucher" value="True" hflex="2">
    <comboitem id="true" label="True"/>
    <comboitem id="false" label="False"/>
</combobox>

Пожалуйста, прокомментируйте, это работает?

person Narayan Subedi    schedule 13.12.2012