欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

yii2中dropDownList實現(xiàn)二級和三級聯(lián)動寫法

 更新時間:2017年04月26日 10:34:57   作者:憐晚情之淚  
本篇文章主要介紹了yii2中dropDownList實現(xiàn)二級和三級聯(lián)動寫法 ,非常具有實用價值,需要的朋友可以參考下

整理文檔,搜刮出一個yii2中dropDownList實現(xiàn)二級和三級聯(lián)動寫法的代碼,稍微整理精簡一下做下分享。

視圖頁面:

<?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);//查詢?nèi)壞夸浀姆椒ǎㄈ绻?你只需要二級 三級的可以直接刪除掉)
  }
});
  
function getCourse(cocateId){
  var href = "'.Url::to(['/ajax/option']).'";//請求的地址
  $.ajax({
    "type" : "GET",
    "url"  : href,
    "data" : {cocateId : cocateId,type : "course"},//所需參數(shù)和類型
    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"},//所需參數(shù)和類型
    success : function(d) {
      $("#classsearch-person_id").append(d);//同上
    }
  });
}
    
  
';
$this->registerJs($js);
?>

php代碼:

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

<?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 封裝好的類文件 可以單獨建立文件 在配置中引用 :

<?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;
  }
  }
  ?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Zend Framework入門知識點小結(jié)

    Zend Framework入門知識點小結(jié)

    這篇文章主要介紹了Zend Framework入門知識點,總結(jié)分析了Zend Framework入門學(xué)習(xí)的知識重點,需要的朋友可以參考下
    2016-03-03
  • php 廣告點擊統(tǒng)計代碼(php+mysql)

    php 廣告點擊統(tǒng)計代碼(php+mysql)

    本文講的是php 廣告點擊統(tǒng)計代碼, php 廣告點擊統(tǒng)計代碼,昨天晚上有幾個IDC網(wǎng)想與本站合作放些廣告,但是我想看看廣告效果后想了就寫了一個簡單的廣告統(tǒng)計代碼了,這里只是等的統(tǒng)計不能IP限制或是惡心點擊等等了
    2018-02-02
  • Laravel 5框架學(xué)習(xí)之Eloquent (laravel 的ORM)

    Laravel 5框架學(xué)習(xí)之Eloquent (laravel 的ORM)

    Laravel 的 Eloquent ORM 提供了漂亮、簡潔的 ActiveRecord 實現(xiàn)來和數(shù)據(jù)庫的互動。 每個數(shù)據(jù)庫表會和一個對應(yīng)的「模型」互動。在開始之前,記得把 config/database.php 里的數(shù)據(jù)庫連接配置好。
    2015-04-04
  • Yii2中YiiBase自動加載類、引用文件方法分析(autoload)

    Yii2中YiiBase自動加載類、引用文件方法分析(autoload)

    這篇文章主要介紹了Yii2中YiiBase自動加載類、引用文件的方法,實例分析了Yii中的autoload函數(shù)用于自動加載類及引用文件的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • PHP自動載入類文件函數(shù)__autoload的使用方法

    PHP自動載入類文件函數(shù)__autoload的使用方法

    今天小編就為大家分享一篇關(guān)于PHP自動載入類文件函數(shù)__autoload的使用方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • php中青蛙跳臺階的問題解決方法

    php中青蛙跳臺階的問題解決方法

    在本文里我們給大家講解一下如何用PHP解決經(jīng)典實例青蛙跳臺階的問題,對此有需要的朋友們可以學(xué)習(xí)下。
    2018-10-10
  • PHP接口并發(fā)測試的方法(推薦)

    PHP接口并發(fā)測試的方法(推薦)

    下面小編就為大家?guī)硪黄狿HP接口并發(fā)測試的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • laravel實現(xiàn)上傳圖片的兩種方式小結(jié)

    laravel實現(xiàn)上傳圖片的兩種方式小結(jié)

    今天小編就為大家分享一篇laravel實現(xiàn)上傳圖片的兩種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • laravel框架實現(xiàn)為 Blade 模板引擎添加新文件擴展名操作示例

    laravel框架實現(xiàn)為 Blade 模板引擎添加新文件擴展名操作示例

    這篇文章主要介紹了laravel框架實現(xiàn)為 Blade 模板引擎添加新文件擴展名操作,結(jié)合實例形式詳細分析了laravel框架Blade 模板引擎添加新文件擴展名具體操作步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • PHP獲取網(wǎng)站中各文章的第一張圖片的代碼示例

    PHP獲取網(wǎng)站中各文章的第一張圖片的代碼示例

    調(diào)取文章中的第一張圖作為列表頁縮略圖是很流行的做法,WordPress中一般主題默認也是如此,那我們接下來就一起來看看PHP獲取網(wǎng)站中各文章的第一張圖片的代碼示例
    2016-05-05

最新評論