当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel-admin select框默认选中的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-27 14:23:56 浏览: 评论:0 

今天小编就为大家分享一篇laravel-admin select框默认选中的方法,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

laravel-admin后台框架的select选择框的默认选中,结合select2的js插件;

文档http://laravel-admin.org/docs/#/zh/model-form-fields?id=select%E9%80%89%E6%8B%A9%E6%A1%86;

文档里面没有看到这个默认选中的属性,也可能是我没有找到;查阅了select2的文档看到了selected属性,通过曲线的方式实现了这个功能;

  1. protected function form() 
  2. { 
  3.   return Admin::form(Member::class, function (Form $form) { 
  4.  
  5.     // $form->display('id', 'ID'); 
  6.     $form->text('mac', '终端mac'); 
  7.     $form->text('phone', '手机号'); 
  8.     $form->text('password', '密码'); 
  9.     //判断是不是edit 
  10.     $id = Request::route('member'); 
  11.     $place_id =''; 
  12.     $rule_id = ''; 
  13.     if ($id) 
  14.     { 
  15.       $model = $form->model()->find($id); 
  16.       $place_id = $model->place_id; 
  17.       $rule_id = $model->rule_id; 
  18.     } 
  19.     $form->select('place_id','所属场所')->options("/api/getPlace/$place_id"); 
  20.     $form->select('rule_id', '规则')->options("/api/getRule/$rule_id"); 
  21.   }); 
  22. } 
  23.  
  24. //api的实现 
  25. public function getPlace(Request $request) 
  26. { 
  27.   $name = $request->get('p'); 
  28.   $id = $request->id; 
  29.   $where = []; 
  30.   if ($name) 
  31.   { 
  32.     $where = ['name','like',"%$name%"]; 
  33.   } 
  34.   $places = Place::where($where)->get(); 
  35.   $result = []; 
  36.   foreach ($places as $key=>$value) 
  37.   { 
  38.     $result[$key]['id'] = $value->Id; 
  39.     $result[$key]['text'] = $value->name; 
  40.     if ($value->Id == $id) 
  41.     { 
  42.       $result[$key]['selected'] = true; 
  43.     } 
  44.   } 
  45.     if (!$id) 
  46.     { 
  47.       array_unshift($result,['id'=>' ','text'=>'请选择场所','selected'=>true]); 
  48.     }else{ 
  49.       array_unshift($result,['id'=>' ','text'=>'请选择场所']); 
  50.     } 
  51.   return response()->json($result); 
  52. } 

注意;

返回的时候一定要有response()->json()来返回;否则的话会返回的类型是 text/html类型。

laravel-admin select框默认选中

Tags: laravel-admin select框默认选中

分享到: