Smarty之html_options使用心得

模板部分

<select name="select2" size="4" >

<{html_options options=$sysUser}>

</select>

程序部分

$sql_sysuser = "select * from tuser where tuser_status='1' order by tuser_truename";

$rs_sysuser = $db->sql_query($sql_sysuser);

while($row_sysuser = $db->sql_fetchrow($rs_sysuser)){

$usersys[$row_sysuser['tuser_name']]=$row_sysuser['tuser_truename'];

}

可见smarty的html_options接受的其实是一个数组,并且这个数组还是有点要求滴~

数组的键值将是option的value值,而数组的值则将是option的显示值,如果需要初始状态某个值是出于选择状态,那么

程序部分

$smarty->assign('customer_id', 1001);

模板部分

<select name=customer_id>

{html_options options=$cust_options selected=$customer_id}

</select>

html_options还有一种用法,option的value和显示是分开的,这样方便处理其他的一些情况

具体用法如下

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>