thinkphp下拉菜单填充方法

thinkphp中下拉菜单选项填充方法,我在使用中用了两种方法。一种是静态填充,一种是动态填充。例如,性别、民族等都是固定值,这种一般是静态填充;而另一种则需要根据数据库中动态查询的数据进行填充,称之谓动态填充。

一、静态填充

前台页面:

 <form class="form form-horizontal" id="form-student" url="{:url('student/add')}">
    <div class="row cl">
      <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>姓名:</label>
      <div class="formControls col-xs-8 col-sm-9">
        <input type="text" class="input-text" value="" placeholder="" id="stuname" name="stuname">
      </div>
    
      <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>性别:</label>
        <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
				<select name="sex" class="select">
                 {volist name="sex" id="vo"}
                  <option value="{$key}">{$vo}</option>
                  {/volist}
                  
                </select>
				</span> </div>
    </div> 

sex.php

return [
    'lists' => [
        1 => '男',
        2 => '女',
       
    ],
];

控制器代码:

return $this->fetch('', [
                'sex'   => config('sex.lists'),
				]);
				

在这里插入图片描述

二、动态填充

动态填充主要是从数据库中取出数据,然后填充到下拉列表框中。前台代码基本一样,不需要变化,主要是在控制器中取出数据后,并渲染到前台页面。
如:

//将部门表中所有数据赋值给当前模板
            $this->view->assign('deptList',\app\common\model\Depart::all());

在前台页面中volist属性 name="deptList"即可。
或者在控制器中,取出数据,赋值给一个变量,在return语句中,返回这个变量也可。如:

$deptList= model('Depart')->select();
return $this->fetch('', [
                'deptList'   => $deptList,
				]);

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值