Yii2实现中国省市区三级联动实例


Posted in PHP onFebruary 08, 2017

1、获取源码:yii2-region_jb51.rar

2、安装

添加到你的composer.json文件

"chenkby/yii2-region": "dev-master"

切换到项目目录

composer update;

3、配置

1) 在地区的Model中添加以下方法

public static function getRegion($parentId=0)
{
  $result = static::find()->where(['parent_id'=>$parentId])->asArray()->all();
  return ArrayHelper::map($result, 'id', 'name');
}

2) 在controller中添加以下action

public function actions()
{
  $actions=parent::actions();
  $actions['get-region']=[
    'class'=>\chenkby\region\RegionAction::className(),
    'model'=>\app\models\Region::className()
  ];
  return $actions;
}

3) 在common/config里的main.php中添加 urlManager的enablePrettyUrl的,即隐藏index.php

"urlManager" => [  
  //用于表明urlManager是否启用URL美化功能,在Yii1.1中称为path格式URL,  
  // Yii2.0中改称美化。  
  // 默认不启用。但实际使用中,特别是产品环境,一般都会启用。  
  "enablePrettyUrl" => true,  
  // 是否启用严格解析,如启用严格解析,要求当前请求应至少匹配1个路由规则,  
  // 否则认为是无效路由。  
  // 这个选项仅在 enablePrettyUrl 启用后才有效。  
  "enableStrictParsing" => false,  
  // 是否在URL中显示入口脚本。是对美化功能的进一步补充。  
  "showScriptName" => false,  
  // 指定续接在URL后面的一个后缀,如 .html 之类的。仅在 enablePrettyUrl 启用时有效。  
  "suffix" => "",  
  "rules" => [    
    "<controller:\w+>/<id:\d+>"=>"<controller>/view", 
    "<controller:\w+>/<action:\w+>"=>"<controller>/<action>"  
  ],
],

4、使用

<?= $form->field($model, 'district')->widget(\chenkby\region\Region::className(),[
  'model'=>$model,
  'url'=> \yii\helpers\Url::toRoute(['get-region']),
  'province'=>[
    'attribute'=>'province',
    'items'=>Region::getRegion(),
    'options'=>['class'=>'form-control form-control-inline','prompt'=>'选择省份']
  ],
  'city'=>[
    'attribute'=>'city',
    'items'=>Region::getRegion($model['province']),
    'options'=>['class'=>'form-control form-control-inline','prompt'=>'选择城市']
  ],
  'district'=>[
    'attribute'=>'district',
    'items'=>Region::getRegion($model['city']),
    'options'=>['class'=>'form-control form-control-inline','prompt'=>'选择县/区']
  ]
]);
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个更简单的无限级分类菜单代码
Jan 16 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
PHPUnit安装及使用示例
Oct 29 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
Laravel中间件实现原理详解
Oct 09 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
PHP计算近1年的所有月份
Mar 13 PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
php-fpm添加service服务的例子
Apr 27 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 03 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
PHP+Ajax无刷新带进度条图片上传示例
Feb 08 #PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 #PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 #PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 #PHP
php实现XML和数组的相互转化功能示例
Feb 08 #PHP
PHP 获取指定地区的天气实例代码
Feb 08 #PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 #PHP
You might like
php中的实现trim函数代码
2007/03/19 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
python获取图片颜色信息的方法
2015/03/18 Python
python动态参数用法实例分析
2015/05/25 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
基于Python实现用户管理系统
2019/02/26 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
美国在线宠物商店:Chewy
2019/01/12 全球购物
法律专业实习鉴定
2013/12/22 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis