1.先在模板文件里面添加下拉列表的模块
这是添加页面的
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Admin')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-admin" data-rule="required" data-source="dizhi/user/selectpage" class="form-control selectpage" name="row[admin]" type="text" value="">
</div>
</div>
这是编辑页面的,多了一个 value的赋值,其他不变
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Admin')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-admin" data-rule="required" data-source="dizhi/user/selectpage" class="form-control selectpage" name="row[admin]" type="text" value="{$row.admin|htmlentities}">
</div>
</div>
2.在方法里面只需要判断 keyValue 存在不存在就行了。当add添加页面,点击下拉的时候,。是没有 ketValue字段的
点击edit页面的时候,不点击下拉列表的时候,会默认带着keyValue字段,这个字段就是你添加的时候选择的id。
当keyValue 存在的时候,就用它当作id查询默认的一条,直接返回就行了,因为只查询返回了一条数据,那么显示的就是默认的。
然后当你编辑修改下拉内容,点击下拉框的时候,就等同于你重新调用了 selectpage 方法,重新调用的时候,自然没有带keyValue,走的就是查询全部列表的判断。
public function selectpage(){
//有keyValue 就是编辑
if ($this->request->request('keyValue')) {
$dizhihuojia_data = Db::name('clinic')->where('id',$this->request->request('keyValue'))->select();
}else{
$dizhihuojia_data = Db::name('clinic')->select();
}
$return['list'] = $dizhihuojia_data;
$return['total'] = count($dizhihuojia_data);
return json($return);
// dump($post);
}