thinkphp 下拉框保持默认值
一般从catelist表中需要修改编辑,此时会进入cateedit但对于下拉框有parent_id和cat_id如何才能在编辑时保持原来已选的呢
一点击编辑会进入以下页面而那内容自动填充进去,且下拉框可供选择同时默认值也有
此时控制器层需要调用两个不同的assign
<?php
namespace AdminController;
use ThinkController;
class CatController extends Controller {
public function cateedit(){
$catModel=D("Cat");
$this->assign("gettree",$catModel->gettree());//上级分类需要用
$this->assign("catinfo",$catModel->find(I("cat_id")));//所有的都需用到
$this->display();
}
}Model层建一个无限极分类这样下拉框可供选择
<?php
namespace AdminModel;
use ThinkModel;
class CatModel extends Model{
public function gettree($p=0,$lv=0){
$t=array();
foreach($this->select()as $k=>$v){
if($v["parent_id"]==$p){
$v["lv"]=$lv;
$t[]=$v;
$t=array_merge($t,$this->gettree($v["cat_id"],$lv+1));//合并数组
}
}
return $t;
}
}
?>html模板层
<table width="100%" id="general-table">
<tr>
<td class="label">分类名称:</td>
<td>
<input type="text" name="cat_name" maxlength="20" value="{$catinfo.cat_name}" size="27" /> <font color="red">*</font>
</td>
</tr>
<tr>
<td class="label">上级分类:</td>
<td>
<select name="parent_id">
<option value="0">类型</option>
<foreach name="gettree" item="c">
<option value="{$c.cat_id}" {$c["cat_id"]==$catinfo["parent_id"]?"selected":""} >{$c.cat_name}</option>
</foreach>
</select>
</td>
</tr>
<tr>
<td class="label">分类描述:</td>
<td>
<textarea name="intro" rows="6" cols="48">{$catinfo.intro}</textarea>
</td>
</tr>
</table>声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
