真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在laravel-admin中實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)-創(chuàng)新互聯(lián)

怎么在laravel-admin中實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)主營(yíng)陜西網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開(kāi)發(fā)公司,陜西h5微信小程序開(kāi)發(fā)搭建,陜西網(wǎng)站營(yíng)銷推廣歡迎陜西等地區(qū)企業(yè)咨詢

首先,按照l(shuí)aravel-admin的文檔,在Model中添加


 public function __construct(array $attributes = [])
 {
  parent::__construct($attributes);

  $this->setParentColumn('pid');
  $this->setOrderColumn('sort');
  $this->setTitleColumn('name');
 }

然后在form上添加城市和地區(qū)的select控件

 protected function form()
 {
  return Admin::form(AreaModel::class, function (Form $form) {

   $form->text('name', '名稱')->rules("required");
   $form->select('city_id','城市')->options(

    DealCityModel::selectOptionsNoRoot()

   )->load('pid', 'district')->loadOne('pid', 'district');//load方法是框架自帶的,定義在vendor=>encore=>laravel-admin=>src=>Form=>Field=>Select文件中,loadone是自己寫的,在后面會(huì)給出代碼district為自己定義的方法,pid是根據(jù)城市的變化而變化的下拉列表框名稱,也就是下面這個(gè)。

   $form->select('pid','地區(qū)')->options(array(0 =>'請(qǐng)選擇地區(qū)'));

  });
 }

在from方法后面新建一個(gè)district方法

 public function district(Request $request)
 {
  $cityId = $request->get('q');

  $list = AreaModel::where(['city_id' => $cityId, 'pid' => 0])->get(['id', DB::raw('name as text')]);

  foreach ($list as $key => $value) {

   $arr[] = array("id" => $value->id, "text" => $value->text);

  }

  return $arr;//返回?cái)?shù)組到地區(qū)的option

 }

在vendor=>encore=>laravel-admin=>src=>Form=>Field=>Select文件里load方法后新建一個(gè)方法命名為loadone,代碼如下:

 public function loadOne($field, $sourceUrl, $idField = 'id', $textField = 'text')
 {
  if (Str::contains($field, '.')) {
   $field = $this->formatName($field);
   $class = str_replace(['[', ']'], '_', $field);
  } else {
   $class = $field;
  }

  $script = <<getElementClassSelector()}").val(), function (data) {
  target.find("option").remove();
  $(target).select2({
   data: $.map(data, function (d) {
    d.id = d.$idField;
    d.text = d.$textField;
    return d;
   })
  });
 });
});
EOT;

  Admin::script($script);

  return $this;
 }

其實(shí)就是相當(dāng)于給load方法增加了一個(gè)默認(rèn)時(shí)的數(shù)據(jù)填充。

最后,千萬(wàn)別忘記在路由上加上district方法哈,要把定義district的路由寫在上面→

怎么在laravel-admin中實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)

Laravel 是什么

Laravel 是一套簡(jiǎn)潔、優(yōu)雅的PHP Web開(kāi)發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來(lái);它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡(jiǎn)潔、富于表達(dá)力。

看完上述內(nèi)容,你們掌握怎么在laravel-admin中實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


新聞名稱:怎么在laravel-admin中實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)-創(chuàng)新互聯(lián)
本文來(lái)源:http://weahome.cn/article/hdgph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部