html_options

Имя атрибутаТипОбязателенПо умолчаниюОписание
valuesмассивДа, если не указан атрибут optionsn/aмассив значений для выпадающего списка
outputмассивДа, если не указан атрибут optionsn/aмассив названий для выпадающего списка
selectedstring/arrayНетпустоВыбранный элемент(ы)
optionsассоциативный массивДа, если не указаны атрибуты values и outputn/aассоциативный массив значений и названий
namestringНетпустоНазвание выпадающего списка

пользовательская функция html_options генерирует группу html тэгов option по указанной информации. Также заботится о выбранных по умолчанию элементах. Атрибуты values и output обязательны, если не указан атрибут options.

Если данное значение - массив, то оно будет представлено в виде html OPTGROUP. Рекурсия с OPTGROUP поддерживается. Весь вывод совместим с XHTML.

Если указан необязательный атрибут name, то группа опций заключится в тэг <select name="groupname"> и </select>, иначе сгенерируется только группа опций.

Все параметры, которые не указаны выше, выводятся в виде пары name/value внутри тэга <select>. Они игнорируются, если атрибут name не указан.

Пример 8-8. html_options

ПРИМЕР 1
--------

index.php:

require('Smarty.php.class');
$smarty = new Smarty;
$smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
Johnson','Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');

index.tpl:

<select name=customer_id>
 {html_options values=$cust_ids selected=$customer_id output=$cust_names}
</select>

ПРИМЕР 2
--------

index.php:

require('Smarty.php.class');
$smarty = new Smarty;
$smarty->assign('cust_options', array(
   1001 => 'Joe Schmoe',
   1002 => 'Jack Smith',
   1003 => 'Jane Johnson',
   1004 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');

index.tpl:

<select name=customer_id>
 {html_options options=$cust_options selected=$customer_id}
</select>


РЕЗУЛЬТАТ: (оба примера)
------------------------

<select name=customer_id>
 <option label="Joe Schmoe" value="1000">Joe Schmoe</option>
 <option label="Jack Smith" value="1001" selected="selected">Jack Smith</option>
 <option label="Jane Johnson" value="1002">Jane Johnson</option>
 <option label="Charlie Brown" value="1003">Charlie Brown</option>
</select>

HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ