Содержание

Тег {{select}}

Описание

Расширенная форма html тега <select>. Является потомком lmbMacroFormElementTag. Список опций из тегов <option> генерируется тегом {{select}} на лету во время исполнения шаблона. При этом можно задать список опций в шаблоне явно, а можно задать его при помощи переменной (или комбинировать).

{{select}} самостоятельно помещает нужные опции как выбранные. Для указания выбранных элементов можно использовать атрибут value, или же {{select}} может взять значение соответствующего поля из контейнера данных в родительском теге {{form}}. Если используется <select> с возможностью выбора нескольких элементов (multiple=«true»), то контейнер данных формы для поля <select> должен содержать массив значений. см. пример ниже.

см. также тег {{select_options_export}}, который используется для заполнения переменной для списка опций на этапе выполнения шаблона.

Синтаксис

{{select id='some_id' name='some_name' [multiple] [options="$options_var"] [value="$#selected_value"] [value_field="some_field"]}}
  {{option}}..{{/option}}...
{{/select}}

Содержимое

Обычно список тегов {[option}} или вообще ничего, если список задается при помощи атрибута options.

Атрибуты

Как {{select}} определяет выбранный элемент

При выборе одной опции (single)

Этап 1:

Этап 2:

При выборе нескольких опции (multiple)

Этап 1: Такой же как и для single

Этап 2:

Пример использования

Single select

<? $options = array('ff0000' => 'red', '00ff00' => 'green');
   $selected_value_object = new lmbObject(array('my_color' => '00ff00', 'id' => 'ff0000')); ?>
{{select id="my_select" options="$options" value="$selected_value_object" value_field="my_color"/}}

Получим:

<select id="my_select" name="my_select">
 <option value="ff0000">red</option>
 <option value="00ff00" selected="true">green</option>
</select>

Multiple select

<? $options = array('ff0000' => 'red', '00ff00' => 'green', '0000ff' => 'blue');
   $selected_value = array('00ff00', '0000ff'); ?>
 
{{select id="my_select" name="my_select[]" multiple="true" options="$options" value="$selected_value"/}}

Получим:

<select id="my_select" name="my_select[]" multiple="true">
<option value="ff0000">red</option>
<option value="00ff00" selected="true">green</option>
<option value="0000ff" selected="true">blue</option>
</select>