Smarty之html_options使用心得

模板部分
<select name="select2" size="4" id="alluser" style="300px; height:200px;" multiple="multiple">
<{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>

原文地址:https://www.cnblogs.com/kuyuecs/p/1347225.html