先让大家看一下最终效果:
来上代码:
<select id="c-education" data-rule="required" class="form-control selectpicker" name="row[education]"> {foreach name="education" item="vo"} <option value="{$key}" {in name="key" value="" }selected{/in}>{$vo}</option> {/foreach} </select>
这里给大家解释一下class名:selectpicker,如果没有这个class名的话他就是一个普通的下拉框:
然后,下一个问题:怎么给select数据呢?这个呢需要再php(控制器)里面给,至于在那个方法看你自己,我是在_initialize方法给的数据
// 学历 $education = [ '1' => __('初中及以上'), '2' => __('高中'), '3' => __('专科'), '4' => __('本科'), '5' => __('研究生'), ]; $this->view->assign( 'education', $education );
请求接口的方法:
$itemsList = Db::name('ceshi')->select(); foreach ( $itemsList as $k => $v ) { //赋值 以id为下标的数组包对象 $education[$v['name']] = $itemsList[$k]['name']; } $this->view->assign( 'education', $education );
还有一个问题,如何回显数据呢?大家看一下下面这个图:
这个value呢就是用来选择默认选中的value值。一般情况下,点击编辑都是向编辑视图传数据表里所有数据的,所以这是只需这样操作:
在控制器里:$row = $this->model->get( [ 'id' => $ids ] );$this->view->assign( 'row', $row );
下面是view视图代码:
<select id="c-gender" data-rule="required" class="form-control selectpicker" name="row[education]"> {foreach name="education" item="vo"} <option value="{$key}" {in name="key" value="$row['education']" }selected{/in}>{$vo}</option> {/foreach} </select>
完成以上操作呢就结束了,如果帮助您解决问题了希望一键三连哦,如果写的有问题,还请多多指教。