先看看html_option函数参数表:
属性 类型 是否必须 缺省值 描述
values array 是,除非使用option属性 n/a 包含下拉列表各元素值的数组
output array 是,除非使用option属性 n/a 包含下拉列表各元素显示值的数组
selected string/array 否 empty 已选定的元素或元素数组
options associative array 是,除非使用value和output n/a 包含值和显示的关联数组
name string 否 empty 下拉菜单的名称
如果给定值是数组,那么会作为OPTGROUP 处理并显示,支持递归。
示例1:
代码如下 | 复制代码 |
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: |
输出:
代码如下 | 复制代码 |
示例2:
post.php
代码如下 | 复制代码 |
$dba = dba(); $rs_categories = get_post_categories($dba); //这里用到了自己写的函数,取出所有 categoryforeach($rs_categories as $key=>$value){ $categorie_ids[$key]=$value['id'];$categorie_names[$key]=$value['title']; } $smarty = new Smarty(); $smarty->assign('categorie_ids', $categorie_ids); $smarty->assign('categorie_names', $categorie_names);post.tpl |
输出
代码如下 | 复制代码 |
模板部分
代码如下 | 复制代码 |
程序部分
代码如下 | 复制代码 |
$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); |
模板部分
代码如下 | 复制代码 |
html_options还有一种用法,option的value和显示是分开的,这样方便处理其他的一些情况
具体用法如下
index.php:
代码如下 | 复制代码 |
require('Smarty.class.php'); |
index.tpl:
代码如下 | 复制代码 |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级