国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - yii2中dropDownList實現二級和三級聯動寫法

yii2中dropDownList實現二級和三級聯動寫法

2021-05-11 17:35憐晚情之淚 PHP教程

本篇文章主要介紹了yii2中dropDownList實現二級和三級聯動寫法 ,非常具有實用價值,需要的朋友可以參考下

整理文檔,搜刮出一個yii2dropDownList實現二級和三級聯動寫法的代碼,稍微整理精簡一下做下分享。

視圖頁面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php $form = ActiveForm::begin([
    'action' => ['index'],
    'method' => 'get',
  ]); ?>
  <!--一級目錄--> <?= $form->field($model, 'cocate_id')->dropDownList(Helper::courseCateMap(), ['prompt' => yii::t('backend', 'Please select course cate')]) ?>
 
  <!--二級目錄--><?= $form->field($model, 'course_id')->dropDownList(Helper::courseMap($model->cocate_id), ['prompt' => yii::t('backend', 'Please select first course cate')])?>
 
   <!--三級目錄--><?= $form->field($model, 'person_id')->dropDownList(Helper::personMap(1, $model->cocate_id), ['prompt' => yii::t('backend', 'Please select person')]) ?>
  
  <?php ActiveForm::end(); ?>
  頁面嵌套js
  <?php
$js = '
//分類
$("#classsearch-cocate_id").change(function() {
  var cocateId = $(this).val();//獲取一級目錄的值
  $("#classsearch-course_id").html("<option value=\"\">'.yii::t('backend', 'Please select course').'</option>");//二級顯示目錄標簽
  $("#classsearch-person_id").html("<option value=\"\">'.yii::t('backend', 'Please select person').'</option>");//三級顯示目錄標簽(如果 你只需要二級 三級的可以直接刪除掉)
  if (cocateId > 0) {
    getCourse(cocateId);//查詢二級目錄的方法
    getPerson(cocateId);//查詢三級目錄的方法(如果 你只需要二級 三級的可以直接刪除掉)
  }
});
  
function getCourse(cocateId){
  var href = "'.Url::to(['/ajax/option']).'";//請求的地址
  $.ajax({
    "type" : "GET",
    "url"  : href,
    "data" : {cocateId : cocateId,type : "course"},//所需參數和類型
    success : function(d) {
      $("#classsearch-course_id").append(d);//返回值輸出
    }
  });
}
 
function getPerson(cocateId){
  var href = "'.Url::to(['/ajax/option']).'";//同上
  $.ajax({
    "type" : "GET",
    "url"  : href,
    "data" : {cocateId : cocateId,type : "person"},//所需參數和類型
    success : function(d) {
      $("#classsearch-person_id").append(d);//同上
    }
  });
}
    
  
';
$this->registerJs($js);
?>

php代碼:

這個是ajax自己聲明的控制器:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
namespace backend\controllers;
class AjaxController extends BaseController
{
    public function actionOption($cocateId, $type)
  {
    switch ($type) {
      case 'course':
        $_data = Helper::courseMap($cocateId);
        break;
      case 'person':
        $_data = Helper::personMap(1, $cocateId);
        break;
      case 'class':
        $_data = Helper::classMap($cocateId);
        break;
    }
      $_tmp = '';
    foreach ($_data as $key => $val) {
      $_tmp .= "<option value='" . $key . "'>{$val}</option>";
    }
    echo $_tmp;
  }

Helper.php 封裝好的類文件 可以單獨建立文件 在配置中引用 :

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
namespace backend\components;//繼承的空間路徑
class Helper//聲明類
{
 //聲明查詢的方法 一級
  public static function courseCateMap()
  {
    $_data = CourseCate::find()->select('cocate_id,cocate_name')->all();
    $_data = ArrayHelper::map(array_merge($_data), 'cocate_id', 'cocate_name');
    return $_data;
  }
  //聲明查詢的方法 二級
    public static function courseMap($cocateId)
  {
    $condition['cocate_id'] = $cocateId;
    $_data = Course::find()->select('course_id,course_name')->where($condition)->all();
    $_data = ArrayHelper::map(array_merge($_data), 'course_id', 'course_name');
    return $_data;
  }
  //聲明查詢的方法 三級
   public static function personMap($percateId, $cocateId = 0)
  {
    
    $shopId = Yii::$app->user->identity->shop_id;
    $condition = [];
    if ($shopId)
    {
      $condition['shop_id'] = $shopId;
    }
    if ($percateId)
    {
      $condition['percate_id'] = $percateId;
    }
    if ($cocateId)
    {
      $condition['cocate_ids'] = intval($cocateId);
    }
    $_data = Person::find()->select('person_id,person_name')->where($condition)->all();
 
    $_data = ArrayHelper::map(array_merge($_data), 'person_id', 'person_name');
    return $_data;
  }
  }
  ?>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.yiichina.com/tutorial/1227

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美一级精品片在线看 | 91se在线 | 日日摸夜夜添夜夜添特色大片 | 天天操夜夜操av | 欧美综合在线观看 | 国产特黄大片aaaaa毛片 | 久久一区 | 日韩成人欧美 | 亚洲成人一区二区在线观看 | 国产一区二区三区视频 | 正在播放国产精品 | 久久久成人精品 | 成人在线免费视频 | 黄色av免费| 高清久久久 | 国产亚洲一区二区三区 | 欧美一区二区三区 | 欧美一区2区 | 久久99久久久久久 | www.国产一区 | 成人羞羞网站 | 高清国产一区二区三区四区五区 | 久久久99精品免费观看 | av久草| 国产精品久久久久久久久久久免费看 | 精品成人在线视频 | 欧美成人精品一区二区三区 | 日韩精品一区二区三区在线播放 | 性欧美大战久久久久久久免费观看 | 五月天一区二区 | 视频一区二区三区免费观看 | 亚洲国产青草 | 亚洲精品国产成人 | 一区二区三区在线免费观看 | 亚洲精品一区二区三区 | 国产成人精品久久 | 91人人爽人人爽人人精88v | 日韩精品一区二区三区在线观看 | 欧美成人免费在线视频 | 色久综合 | 国产精品久久久久aaaa九色 |