thinkphp 下拉框保持默认值

来源:互联网 发布:申万宏源手机交易软件 编辑:程序博客网 时间:2024/05/19 13:06

一般从catelist表中需要修改编辑,此时会进入cateedit但对于下拉框有parent_id和cat_id如何才能在编辑时保持原来已选的呢

一点击编辑会进入以下页面而那内容自动填充进去,且下拉框可供选择同时默认值也有

此时控制器层需要调用两个不同的assign

<?phpnamespace Admin\Controller;use Think\Controller;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  Admin\Model; use Think\Model; 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>





原创粉丝点击