Smarty Manual
Prev | Chapter 8. Custom Functions | Next

# html_checkboxes

Attribute Name | Type | Required | Default | Description
--- | --- | --- | --- | ---
name | string | No | checkbox | name of checkbox list
values | array | Yes, unless using options attribute | n/a | an array of values for checkbox buttons
output | array | Yes, unless using options attribute | n/a | an array of output for checkbox buttons
selected/checked | string/array | No | empty | the selected checkbox element(s)
options | associative array | Yes, unless using values and output | n/a | an associative array of values and output
separator | string | No | empty | string of text to separate each checkbox item
labels | boolean | No | true | add <label>-tags to the output

html_checkboxes is a custom function that creates an html checkbox group with provided data. It takes care of which item(s) are selected by default as well. Required attributes are values and output, unless you use options instead. All output is XHTML compatible.

All parameters that are not in the list above are printed as name/value-pairs inside each of the created <input>-tags.

Example 8-6. html_checkboxes
`<?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','Charlie Brown')); $smarty->assign('customer_id', 1001); $smarty->display('index.tpl'); ?> ]] </programlisting> <para> where index.tpl is: </para> <programlisting> <![CDATA[ {html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"} ]] </programlisting> <programlisting role="php"> <![CDATA[ <?php require('Smarty.class.php'); $smarty = new Smarty; $smarty->assign('cust_checkboxes', array( 1000 => 'Joe Schmoe', 1001 => 'Jack Smith', 1002 => 'Jane Johnson', 1003 => 'Charlie Brown')); $smarty->assign('customer_id', 1001); $smarty->display('index.tpl'); ?>`
where index.tpl is:
    {html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="&lt;br /&gt;"}
both examples will output:
    <label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br />
    <label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br />
    <label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br />
    <label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />

Prev | Home | Next
fetch | Up | html_image