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 相关文章推荐
计算2000年01月01日起到指定日的天数
Oct 09 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
如何用PHP实现插入排序?
Apr 10 PHP
php中的Base62类(适用于数值转字符串)
Aug 12 PHP
php导入导出excel实例
Oct 25 PHP
php时间戳转换的示例
Mar 31 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
php截取中文字符串函数实例
Feb 23 PHP
PHP中使用BigMap实例
Mar 30 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 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中for与foreach的区别分析
2011/03/09 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Django 前后台的数据传递的方法
2017/08/08 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
神农溪导游词
2015/02/11 职场文书
护理专业自我评价
2015/03/11 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
现货白银电话营销话术
2015/05/29 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
MySQL优化之慢日志查询
2022/06/10 MySQL