view中代码

  1. <?php
  2. use yii\bootstrap\ActiveForm;
  3. /* @var $this yii\web\View */
  4. /* @var $form yii\bootstrap\ActiveForm */
  5. ?>
  6. <?php $form = ActiveForm::begin(['enableClientValidation' => false]);?>
  7. <?= $form->field($model,'province')->dropDownList($model->getCityList(0),
  8. [
  9. 'prompt'=>'--请选择省--',
  10. 'onchange'=>'
  11. $(".form-group.field-member-area").hide();
  12. $.post("'.yii::$app->urlManager->createUrl('member/site').'?typeid=1&pid="+$(this).val(),function(data){
  13. $("select#member-city").html(data);
  14. });',
  15. ]) ?>
  16. <?= $form->field($model, 'city')->dropDownList($model->getCityList($model->province),
  17. [
  18. 'prompt'=>'--请选择市--',
  19. 'onchange'=>'
  20. $(".form-group.field-member-area").show();
  21. $.post("'.yii::$app->urlManager->createUrl('member/site').'?typeid=2&pid="+$(this).val(),function(data){
  22. $("select#member-area").html(data);
  23. });',
  24. ]) ?>
  25. <?= $form->field($model, 'area')->dropDownList($model->getCityList($model->city),['prompt'=>'--请选择区--',]) ?>
  26. <?php ActiveForm::end();?>

model中添加下面的函数

  1. /**
  2. * @param $pid
  3. * @return array
  4. */
  5. public function getCityList($pid)
  6. {
  7. $model = City::findAll(array('pid'=>$pid));
  8. return ArrayHelper::map($model, 'id', 'name');
  9. }

控制器中添加下面的代码:

  1. /**
  2. * Function output the site that you selected.
  3. * @param int $pid
  4. * @param int $typeid
  5. */
  6. public function actionSite($pid, $typeid = 0)
  7. {
  8. $model = new Member();
  9. $model = $model->getCityList($pid);
  10. if($typeid == 1){$aa="--请选择市--";}else if($typeid == 2 && $model){$aa="--请选择区--";}
  11. echo Html::tag('option',$aa, ['value'=>'empty']) ;
  12. foreach($model as $value=>$name)
  13. {
  14. echo Html::tag('option',Html::encode($name),array('value'=>$value));
  15. }
  16. }

City数据库结构:

  1. /*
  2. Navicat MySQL Data Transfer
  3. Source Server : MySQL
  4. Source Server Version : 50624
  5. Source Host : localhost:3306
  6. Source Database : yii2advanced
  7. Target Server Type : MYSQL
  8. Target Server Version : 50624
  9. File Encoding : 65001
  10. Date: 2015-07-13 14:27:12
  11. */
  12. SET FOREIGN_KEY_CHECKS=0;
  13. -- ----------------------------
  14. -- Table structure for yii2_city
  15. -- ----------------------------
  16. DROP TABLE IF EXISTS `yii2_city`;
  17. CREATE TABLE `yii2_city` (
  18. `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  19. `pid` smallint(5) unsigned NOT NULL DEFAULT '0',
  20. `name` varchar(120) NOT NULL DEFAULT '',
  21. PRIMARY KEY (`id`),
  22. KEY `parent_id` (`pid`)
  23. ) ENGINE=MyISAM AUTO_INCREMENT=3410 DEFAULT CHARSET=utf8;

Yii2.0 实现三级联动 [ 2.0 版本 ]的更多相关文章

  1. [moka同学转载]Yii2 中国省市区三级联动

    1.获取源码:https://github.com/chenkby/yii2-region 2.安装 添加到你的composer.json文件 "chenkby/yii2-region&qu ...

  2. Yii2 中国省市区三级联动

    1.获取源码:https://github.com/chenkby/yii2-region 2.安装 添加到你的composer.json文件 "chenkby/yii2-region&qu ...

  3. Yii2中省市三级联动(栏目联动)

    先从表的设计开始: 表的结构: CREATE TABLE `global_region` ( `region_id` smallint(5) unsigned NOT NULL AUTO_INCREM ...

  4. 简单的纯js三级联动

    参考这个  日尼禾尔  二级联动 写了三级联动 <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  5. 所使用的“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”版本高于所引用的程序集“EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的版本

    错误信息:所使用的"EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&qu ...

  6. Mysql下Limit注入方法(此方法仅适用于5.0.0<mysql<5.6.6的版本)

    SQL语句类似下面这样:(此方法仅适用于5.0.0<mysql<5.6.6的版本) SELECT field FROM table WHERE id > 0 ORDER BY id ...

  7. 使用pip命令报You are using pip version 9.0.3, however version 18.0 is available pip版本过期.解决方案

    使用pip命令安装或卸载第三方库时报You are using pip version 9.0.3, however version 18.0 is available.错误,一般情况下是pip版本过 ...

  8. 报错:Unsupported major.minor version 52.0 (jar包对不同JDK版本的兼容性问题:)

    Unsupported major.minor version 52.0 这类错误是因为Java版本不一致造成的,在高版本的JDK(1.8)环境中编译JAR包,然后JAR在低版本的JVM(1.6)中运 ...

  9. 安装 tensorflow 1.1.0;以及安装其他相似版本tensorflow遇到的问题;tensorflow 1.13.2 cuda-10环境变量配置问题;Tensorflow 指定训练时如何指定使用的GPU;

    # 安装 2.7 环境conda create -n python2. python= conda activate python2. # 安装 1.1.0 gpu版本pip # 配置环境变量expo ...

随机推荐

  1. Java Debugging

    1, https://visualvm.java.net/oqlhelp.html#top http://docs.oracle.com/javase/7/docs/technotes/samples ...

  2. HTTPS-SSL/TSL与SNI的关系以及同IP多域名虚拟主机的SSL/TSL认证

    早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,它默认认为:一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客 ...

  3. {好文备份}SQL索引一步到位

    SQL索引一步到位(此文章为"数据库性能优化二:数据库表优化"附属文章之一)   SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百 ...

  4. C# Timer用法及实例详解

    C# Timer用法有哪些呢?我们在使用C# Timer时都会有自己的一些总结,那么这里向你介绍3种方法,希望对你了解和学习C# Timer使用的方法有所帮助. 关于C# Timer类  在C#里关于 ...

  5. JS兼容IE浏览器的方法

    背景 系统需要兼容蛋疼的IE6... 解决方案 *{ 兼容IE6-8 }* <!--[if lt IE 9]> <script src="@{'/public/mng/ja ...

  6. sed命令拷屏

    http://blog.sina.com.cn/s/blog_45497dfa0100w6r3.html  sed样例较多,可以参考 http://blog.sina.com.cn/s/blog_6d ...

  7. linux工具之log4j-LogBack-slf4j-commons-logging

    log4j http://commons.apache.org/proper/commons-logging/ http://logging.apache.org/log4j/2.x/ The Com ...

  8. shell流程控制语句

    linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select).下面我将通过例子介绍下,各个语句使用方法. 1 ...

  9. USACO/friday

    Friday the Thirteenth 黑色星期五 描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的 ...

  10. N天前涨停过的票

    zd(0,300,10)B2:=REF(C,1)*1.1-C;B3:BARSLAST(B2<0.01)=ZD01;{n天前涨停股票}