中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Yii2使用dropdownlist實現地區三級聯動功能的方法
來源:易賢網 閱讀:1075 次 日期:2016-08-12 15:18:55
溫馨提示:易賢網小編為您整理了“Yii2使用dropdownlist實現地區三級聯動功能的方法”,方便廣大網友查閱!

本文實例講述了Yii2使用dropdownlist實現地區三級聯動功能的方法。分享給大家供大家參考,具體如下:

視圖部分:

<?php

use yii\helpers\Url;

use yii\widgets\ActiveForm;

use yii\helpers\ArrayHelper;

use yii\helpers\Html;

/* @var $this yii\web\View */

/* @var $model common\search\service\ItemSearch */

/* @var $form yii\widgets\ActiveForm */

?>

<div class="row">

  <div class="item-search">

    <?php $form = ActiveForm::begin([

      'action' => ['index'],

      'method' => 'get',

      'options' => ['class' => 'form-inline']

    ]); ?>

    <?= $form->field($model, 'cityName', ['options' => ['class' => 'form-group col-lg-2']])->dropDownList(ArrayHelper::map($cities, 'id', 'name'), ['prompt' => '請選擇城市'])->label('請選擇城市', ['class' => 'sr-only']) ?>

    <?= $form->field($model, 'areaName', ['options' => ['class' => 'form-group col-lg-2']])->dropDownList(ArrayHelper::map($areas, 'id', 'name'), ['prompt' => '請選擇區縣'])->label('請選擇區縣', ['class' => 'sr-only']) ?>

    <?= $form->field($model, 'communityName', ['options' => ['class' => 'form-group col-lg-2']])->dropDownList(ArrayHelper::map($communities, 'id', 'name'), ['prompt' => '請選擇小區'])->label('請選擇小區', ['class' => 'sr-only']) ?>

    <div class="col-lg-2 col-lg-offset-1">

      <input class="form-control" id="keyword" placeholder="請輸入小區名" value="" />

    </div>

    <div class="col-lg-1">

      <button type="button" id="search-community" class="btn btn-info">搜索</button>

    </div>

    <p></p>

    <div class="form-group col-lg-1 pull-right">

      <?= Html::submitButton('搜索', ['class' => 'btn btn-primary']) ?>

    </div>

    <?php ActiveForm::end(); ?>

  </div>

</div>

<p> </p>

<?php

$this->registerJs('

  //市地址改變

  $("#itemsearch-cityname").change(function() {

    //市id值

    var cityid = $(this).val();

    $("#itemsearch-areaname").html("<option value=\"0\">請選擇區縣</option>");

    $("#itemsearch-communityname").html("<option value=\"0\">請選擇小區</option>");

    if (cityid > 0) {

      getArea(cityid);

    }

  });

  //區地址改變

  $("#itemsearch-areaname").change(function() {

    //區id值

    var areaid = $(this).val();

    $("#itemsearch-communityname").html("<option value=\"0\">請選擇小區</option>");

    if (areaid > 0) {

      getCommunity(areaid);

    }

  });

  //獲取市下面的區列表

  function getArea(id)

  {

    var href = "' . Url::to(['/service/base/get-area-list'], true). '";

    $.ajax({

      "type" : "GET",

      "url"  : href,

      "data" : {id : id},

      success : function(d) {

        $("#itemsearch-areaname").append(d);

      }

    });

  }

  //獲取區下面的小區列表

  function getCommunity(id)

  {

    var href = "' . Url::to(['/service/base/get-community-list'], true) . '";

    $.ajax({

      "type" : "GET",

      "url"  : href,

      "data" : {id : id},

      success : function(d) {

        $("#itemsearch-communityname").append(d);

      }

    });

  }

  //搜索小區

  $("#search-community").click(function() {

    var word  = $("#keyword").val();

    var areaid = $("#itemsearch-areaname option:selected").val();

    var href  = "' . Url::to(['/service/base/search-community'], true) . '";

    if (areaid > 0) {

      $.ajax({

        "type" : "GET",

        "url"  : href,

        "data" : {id : areaid, word : word},

        success : function(d) {

          $("#itemsearch-communityname").html(d);

        }

      });

    }

  });

');

?>

模型部分:

就是我們常用的ajax請求,當然php中需要直接組合成<option value=""></option>這樣的結構直接用,$form->field($model, $var)中的變量數據表中不一定有,得在模型中自己定義,并設置安全字段,而且搜索模型也可能需要修改成自己需要的樣子,模型可能要這樣:

class HuangYeError extends \yii\db\ActiveRecord

{

  public $cityName;

  public $areaName;

  public $communityName;

  public $group;

  public $cate;

  /**

   * @inheritdoc

   */

  public static function tableName()

  {

    return 'll_hy_huangye_error';

  }

  public static function getDb()

  {

    return Yii::$app->get('dbnhuangye');

  }

}

之前是多表,需要使用jjoinWith()連表,后來被我全部轉化為單表了,多表實在是慢,能轉化成單表就用單表吧:

class HuangYeErrorSearch extends HuangYeError

{

  const PAGE_SIZE = 20;

  public $communityName;

  public $startTime;

  public $endTime;

  /**

   * @inheritdoc

   */

  public function rules()

  {

    return [

      [['id', 'serviceid', 'userid', 'categoryid', 'communityid', 'sortorder', 'ctime', 'utime', 'status'], 'integer'],

      [['username', 'name', 'logo', 'phone', 'address', 'content', 'error', 'communityName', 'startTime', 'endTime'], 'safe'],

    ];

  }

  /**

   * @inheritdoc

   */

  public function scenarios()

  {

    // bypass scenarios() implementation in the parent class

    return Model::scenarios();

  }

  /**

   * Creates data provider instance with search query applied

   *

   * @param array $params

   *

   * @return ActiveDataProvider

   */

  public function search($params)

  {

    $query = HuangYeError::find();

    //status == 9 刪除狀態

    $condition = ' `status` != :status';

    $p[':status'] = 9;

    $query->where($condition, $p);

    $dataProvider = new ActiveDataProvider([

      'query' => $query,

      'pagination' => [

        'pageSize' => self::PAGE_SIZE,

      ],

    ]);

    $this->load($params);

    if (!$this->validate()) {

      // uncomment the following line if you do not want to any records when validation fails

      // $query->where('0=1');

      return $dataProvider;

    }

    $query->andFilterWhere([

      'userid' => $this->userid

    ]);

    $query->andFilterWhere(['like', 'username', $this->username])

      ->andFilterWhere(['like', 'name', $this->name])

      ->andFilterWhere(['like', 'phone', $this->phone])

      ->andFilterWhere(['like', 'address', $this->address])

      ->andFilterWhere(['like', 'content', $this->content])

      ->andFilterWhere(['ll_hy_huangye_error.status' => $this->status])

      ->andFilterWhere(['ll_hy_huangye_error.categoryid' => $this->categoryid])

      ->andFilterWhere(['between', 'ctime', strtotime($this->startTime . '0:0:0'), strtotime($this->endTime . '23:59:59')])

      ->andFilterWhere(['like', 'error', $this->error]);

    if (intval($this->communityName)) {

      $query->andFilterWhere(['ll_hy_huangye_error.communityid' => intval($this->communityName)]);

    }

    $order = ' `ctime` DESC';

    $query->orderBy($order);

    return $dataProvider;

  }

}

控制器中寫比較簡單一點,直接調用就行了:

/**

* ajax請求小區

*

* @param $id

* @return string

*/

public function actionGetCommunityList($id)

{

    $option = '';

    $result = self::getCommunity($id);

    if ($result) {

      foreach ($result as $value) {

        $option .= '<option value="' . $value['id'] . '">' . $value['name'] . '</option>';

      }

    } else {

      $option .= '<option value="0">暫未開通可選擇的小區</option>';

    }

    echo $option;

}

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品一区二区三区久久久| 精品粉嫩aⅴ一区二区三区四区| 国产欧美日韩综合一区在线播放| 欧美成人精品一区| 欧美亚洲网站| 亚洲欧美综合精品久久成人| 亚洲日本成人网| 在线日韩精品视频| 尤物yw午夜国产精品视频明星| 狠狠88综合久久久久综合网| 国产三级欧美三级日产三级99| 国产精品视频yy9099| 国内一区二区三区在线视频| 韩国一区二区三区在线观看| 在线播放精品| 亚洲一区二区网站| 欧美在线播放一区| 欧美福利电影在线观看| 欧美华人在线视频| 国产女主播在线一区二区| 91久久精品美女高潮| 久久动漫亚洲| 国产精品久久久久久久久久直播| 亚洲国产精品女人久久久| 黄网站免费久久| 午夜精品久久久久久久99樱桃| 欧美精品xxxxbbbb| 在线精品国产成人综合| 欧美一区二区在线| 国产日韩在线看| 欧美亚洲免费电影| 国产精品久久久久久久7电影| 国外成人在线视频网站| 久久黄色级2电影| 国色天香一区二区| 欧美sm视频| 日韩视频一区二区| 欧美午夜精品久久久久免费视| 亚洲深夜福利网站| 国产日韩一区二区三区| 欧美激情亚洲视频| 午夜日韩av| 日韩视频免费观看高清在线视频| 欧美日韩精品免费在线观看视频| 99精品国产高清一区二区| 国产精品白丝jk黑袜喷水| 久久成人综合视频| 在线视频欧美日韩精品| 国产一区三区三区| 欧美日韩免费一区| 久久综合网络一区二区| 夜夜嗨av色一区二区不卡| 国产欧美一区二区视频| 欧美日韩成人免费| 久久久亚洲人| 欧美在线日韩在线| 中文欧美日韩| 在线亚洲欧美| 在线一区二区三区四区五区| 精品av久久久久电影| 国产精品拍天天在线| 欧美成人免费在线| 久久综合国产精品| 久久青草欧美一区二区三区| 久久精品视频在线免费观看| 亚洲综合色丁香婷婷六月图片| 日韩视频免费看| 亚洲精品日韩精品| 亚洲韩日在线| 亚洲精品视频在线观看网站| 亚洲精品麻豆| 一区二区三区色| 亚洲欧美大片| 亚洲嫩草精品久久| 国产精品色婷婷久久58| 国产精品美女久久福利网站| 国产亚洲欧美中文| 国产精品99免费看 | 国产日本亚洲高清| 国产日韩精品入口| 在线观看欧美一区| 亚洲天堂偷拍| 久久精品国产欧美激情| 久久综合给合| 国产精品日韩一区二区| 一区免费观看| 亚洲少妇自拍| 久久亚洲私人国产精品va| 欧美日韩色一区| 亚洲国产精品专区久久| 午夜视频一区| 欧美偷拍另类| 一区二区三区 在线观看视频| 久久久xxx| 国产一区二区电影在线观看| 亚洲视频第一页| 欧美激情按摩在线| 亚洲国产毛片完整版 | 欧美成人精品在线| 狠狠噜噜久久| 老司机aⅴ在线精品导航| 国产女同一区二区| 亚洲欧美日韩国产一区二区| 欧美精品在线免费观看| 亚洲精品国产精品久久清纯直播| 久久精品欧洲| 91久久夜色精品国产网站| 免费日韩一区二区| 1204国产成人精品视频| 欧美第一黄色网| 亚洲无限乱码一二三四麻| 欧美日韩亚洲一区二区三区在线| 亚洲人体大胆视频| 国产精品久久久久久久久久三级| 午夜电影亚洲| 91久久综合| 国产精品久久久久77777| 欧美一区二区精品久久911| 亚洲国产日韩欧美| 国产精品久久久久天堂| 久久免费视频网| 一区二区三区欧美亚洲| 激情五月婷婷综合| 国产精品久久久久久久久借妻| 欧美在线播放一区| 亚洲天堂男人| 宅男在线国产精品| 亚洲第一区在线观看| 国产日本亚洲高清| 国产精品国产三级国产aⅴ入口| 久久综合激情| 久久久一二三| 伊大人香蕉综合8在线视| 一本久道久久久| 亚洲电影免费观看高清完整版在线 | 牛夜精品久久久久久久99黑人 | 亚洲免费在线观看视频| 亚洲国产精品999| 国产欧美视频一区二区三区| 欧美性猛片xxxx免费看久爱| 欧美日韩国语| 久久久久久久波多野高潮日日 | 欧美在线影院| 小辣椒精品导航| 欧美一区二区三区的| 欧美中文在线免费| 久久久国产成人精品| 毛片一区二区三区| 欧美成人精品| 欧美福利电影在线观看| 欧美紧缚bdsm在线视频| 欧美午夜一区二区| 国产欧美综合在线| 亚洲国产精品激情在线观看| 亚洲精选在线观看| 一本色道久久综合一区| 亚洲欧美亚洲| 欧美三级午夜理伦三级中文幕| 国产欧美亚洲视频| 亚洲精品一区二区三区福利| 91久久久精品| 99在线精品视频| 欧美伊人久久大香线蕉综合69| 男人插女人欧美| 经典三级久久| 久久精品二区亚洲w码| 欧美日韩福利视频| 亚洲欧洲在线播放| 久久久久久亚洲精品不卡4k岛国| 国产精品xnxxcom| 亚洲一本大道在线| 欧美日韩在线精品一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲欧美影院| 亚洲日本激情| 欧美高清在线视频| 91久久极品少妇xxxxⅹ软件| 久久视频在线看| 亚洲电影一级黄| 欧美成人免费大片| 91久久久一线二线三线品牌| 欧美精品v日韩精品v国产精品 | 亚洲福利视频网站| 久久久久久伊人| 亚洲高清自拍| 欧美日韩三区| 久久久国产91| 亚洲国内精品| 国产欧美va欧美不卡在线| 久久久女女女女999久久| 亚洲国产精品第一区二区| 亚洲视频精选在线| 一区二区三区四区五区视频| 欧美日韩中文另类| 久久久精品国产免费观看同学| 亚洲国产欧美在线| 国产一区二区看久久| 欧美精品亚洲| 久久视频精品在线| 樱花yy私人影院亚洲|