高手请绕道, php纯技术讨论学习群:323899029
function.php 中写一个公共方法用于创建单选列表
function CreateRadio($name,$default,$val){
$str = '<span class="RadioList '.$name.'">';
foreach($val as $k => $v){
$str .= '<i>';
if($k==$default){
$str .= '<input type="radio" checked="checked" name="'.$name.'" id="'.$name.'_'.$k.'" value="'.$k.'" /><label for="'.$name.'_'.$k.'">'.$v.'</label>';
}else{
$str .= '<input type="radio" name="'.$name.'" id="'.$name.'_'.$k.'" value="'.$k.'" /><label for="'.$name.'_'.$k.'">'.$v.'</label>';
}
$str .= '</i>';
}
$str .= '</span>';
return $str;
}在需要的控制器中写像这样写$sexRadio = CreateRadio('sex',1,array('0'=>'保密','1'=>'男','2'=>'女'));
$this->assign('sexRadio',$sexRadio); 在模板中直接输出 {$sexRadio} 变量即可最后html的表现是这样的:
<span class="RadioList sex">
<i>
<input type="radio" value="0" id="sex_0" name="sex"><label for="sex_0">保密</label>
</i>
<i>
<input type="radio" value="1" id="sex_1" name="sex" checked="checked"><label for="sex_1">男</label>
</i>
<i>
<input type="radio" value="2" id="sex_2" name="sex"><label for="sex_2">女</label>
</i>
</span>说明:CreateRadio($name,$default,$val)
$name 是单选列表的名称,html中的 <span class="RadioList sex"> 样式名称sex就为了标明是性别的单选列表, 用于在前台方便js调用。
$default 是列表的默认值,在html中的表现就是那个值被选了,我传进去的是1,所以“男”这个就被选择了。 当然可以传空值进去。
$sexRadio 是一个数组,根据数组的长度循环出所有的值,根据自己的需求传值进去。
当然这是抛砖引玉,用这样的思路可以构建下拉列表、复选框列表。
