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 相关文章推荐
个人站长制做网页常用的php代码
Mar 03 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
PHP 命名空间实例说明
Jan 27 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
Lumen timezone 时区设置方法(慢了8个小时)
Jan 20 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
PHP生成sitemap.xml地图函数
2013/11/13 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
解读ES6中class关键字
2017/11/20 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
你应该知道的python列表去重方法
2017/01/17 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
教育技术学专业职业规划书
2014/03/03 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS