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 相关文章推荐
在IIS上安装PHP4.0正式版
Oct 09 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
php格式化日期实例分析
Nov 12 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
详谈php静态方法及普通方法的区别
Oct 04 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
php 函数使用可变数量的参数方法
May 02 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
有关PHP 中 config.m4 的探索
Aug 26 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
main.php
2006/12/09 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
koa源码中promise的解读
2018/11/13 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
python定向爬取淘宝商品价格
2018/02/27 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Python调用飞书发送消息的示例
2020/11/10 Python
python的dict判断key是否存在的方法
2020/12/09 Python
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
公司离职证明范本
2014/01/13 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
2014春晚主持词
2014/03/25 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
政风行风评议工作总结
2014/10/21 职场文书
九年级历史教学反思
2016/02/19 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
Python字典的基础操作
2021/11/01 Python