{html_options}
属性名 | 型? | 必須 | デフォルト | 概要 |
values | array? | Yes(options属性を用いない場合) | n/a | ドロップダウンリストのvalue属性の配列 |
output | array? | Yes(options属性を用いない場合) | n/a | ドロップダウンリストの項目内容の配列 |
selected | string?/array? | No | empty | あらかじめ選択されているオプション要素 |
options | 連想配列 | Yes(valuesとoutput属性を用いない場合) | n/a | キーがvalues属性、要素がoutput属性の連想配列 |
name | string? | No | empty | selectグループの名前 |
htmlのドロップダウンリストを作成します。
デフォルトで選択されるアイテムも決定できます。
必要な属性はvaluesとoutputです(これはoptions属性を使用しない場合)。
デフォルトで選択されるアイテムも決定できます。
必要な属性はvaluesとoutputです(これはoptions属性を使用しない場合)。
配列が渡された場合はhtmlのOPTGROUPとして扱われ、グループが表示されます。
再帰はOPTGROUPによってサポートされます。すべての出力はxhtml互換です。
再帰はOPTGROUPによってサポートされます。すべての出力はxhtml互換です。
任意であるname属性が与えられると、 <select name="グループ名"></select> タグによって オプションリストは囲まれます。未指定の場合は、単にオプションリストのみが生成されます。
前述の属性リストに無いパラメータが与えられた場合は、作成された各<select>タグの内側に名前/値のペアで表されます。任意のname属性が与えられない場合には、これらは無視されます。
例 8-8. html_options
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
Johnson','Carlie 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>
index.php:
require('Smarty.class.php');
$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 value="1000">Joe Schmoe</option> <option value="1001" selected="selected">Jack Smith</option> <option value="1002">Jane Johnson</option> <option value="1003">Charlie Brown</option> </select>