全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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'=>'选择县/区']
  ]
]);
?> 

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


# yii2  # 省市区三级联动  # yii  # 省市联动  # 三级联动  # Yii2使用dropdownlist实现地区三级联动功能的方法  # Yii2实现上下联动下拉框功能的方法  # 后才  # 大家多多  # 切换到  # parent_id  # asArray  # return  # parentId  # getRegion  # result  # gt  # find  # parent  # actions  # RegionAction  # model  # className  # map  # ArrayHelper  # id  # action 


相关文章: 如何快速使用云服务器搭建个人网站?  如何快速生成橙子建站落地页链接?  建站主机是什么?如何选择适合的建站主机?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  Python多线程使用规范_线程安全解析【教程】  如何在阿里云香港服务器快速搭建网站?  如何在建站宝盒中设置产品搜索功能?  如何在云服务器上快速搭建个人网站?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  代刷网站制作软件,别人代刷火车票靠谱吗?  如何快速搭建高效服务器建站系统?  如何制作一个表白网站视频,关于勇敢表白的小标题?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  宁波免费建站如何选择可靠模板与平台?  javascript中的try catch异常捕获机制用法分析  用v-html解决Vue.js渲染中html标签不被解析的问题  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  小建面朝正北,A点实际方位是否存在偏差?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  c# 服务器GC和工作站GC的区别和设置  ,购物网站怎么盈利呢?  制作网站的软件免费下载,免费制作app哪个平台好?  如何用腾讯建站主机快速创建免费网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何通过FTP服务器快速搭建网站?  建站之星如何快速更换网站模板?  ,网页ppt怎么弄成自己的ppt?  C++如何使用std::optional?(处理可选值)  C#怎么使用委托和事件 C# delegate与event编程方法  微信h5制作网站有哪些,免费微信H5页面制作工具?  北京制作网站的公司,北京铁路集团官方网站?  利用JavaScript实现拖拽改变元素大小  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  全景视频制作网站有哪些,全景图怎么做成网页?  建站之星如何保障用户数据免受黑客入侵?  如何通过IIS搭建网站并配置访问权限?  C++如何编写函数模板?(泛型编程入门)  内网网站制作软件,内网的网站如何发布到外网?  如何高效搭建专业期货交易平台网站?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  高防服务器租用首荐平台,企业级优惠套餐快速部署  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  定制建站如何定义?其核心优势是什么?  建站主机SSH密钥生成步骤及常见问题解答?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  建站之星好吗?新手能否轻松上手建站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。