Smarty: html_checkboxes
チェックボックスの作成
html_checkboxes を使うと、
簡単にチェックボックス・グループが作れます。
{html_checkboxes name=名前 options=データ配列 separator=区切り文字 checked=チェック済配列}
・name
checkbox の name になります。HTML 展開後、[] が付加されます。
・options
value をキーに、表示文字列を値に持つ連想配列を指定します。
・separator
指定すると、各 checkbox の間に挿入されます。省略可能です。
・checked
options に対して、表示時点でチェック済みにするキーを配列にします。
省略可能です。
例えば、
sample.php では、
$o_Smarty->assign("arr", array(1=>'red', 2=>'green', 4=>'blue', 7=>'white'));
$o_Smarty->assign("arrChk", array(1, 7));
sample.tpl では、
{html_checkboxes name=list options=$arr separator="<br>" checked=$arrChk}
とすると、HTML 展開後は、
<label><input type="checkbox" name="list[]" value="1" checked="checked" />red</label><br>
<label><input type="checkbox" name="list[]" value="2" />green</label><br>
<label><input type="checkbox" name="list[]" value="4" />blue</label><br>
<label><input type="checkbox" name="list[]" value="7" checked="checked" />white</label><br>
となります。
見た目は、以下のようです。
ちなみに、
以下のように form で submit すると、
<form method="post">
{html_checkboxes name=list options=$arr separator="<br>" checked=$arrChk}
<input type="submit">
</form>
$_POST['list'] に、array('1', '7') が格納されます。
# データが文字列になっている事に注意して下さい。