thinkPHP实现的省市区三级联动功能示例


Posted in PHP onMay 05, 2017

本文实例讲述了thinkPHP实现的省市区三级联动功能。分享给大家供大家参考,具体如下:

一张表实现省市区三级联动【3409条数据】

1. php代码:

public function index(){
  $province = M('Tree')->where ( array('pid'=>1) )->select ();
  $this->assign('province',$province);
  $this->display();
}
public function getRegion(){
  $Region=M("Tree");
  $map['pid']=$_REQUEST["pid"];
  $map['type']=$_REQUEST["type"];
  $list=$Region->where($map)->select();
  echo json_encode($list);
}

2. HTML代码:

<select name="province" id="province" onchange="loadRegion('province',2,'city','{:U('Index/getRegion')}');">
  <option value="0" selected>省份/直辖市</option><volist name="province" id="vo">
  <option value="{$vo.id}" >{$vo.name}</option></volist>
</select>
<select name="city" id="city" onchange="loadRegion('city',3,'town','{:U('Index/getRegion')}');">
 <option value="0">市/县</option>
</select>
<select name="town" id="town">
 <option value="0">镇/区</option>
</select>

3. javascript代码:

function loadRegion(sel,type_id,selName,url){
  jQuery("#"+selName+" option").each(function(){
    jQuery(this).remove();
  });
  jQuery("<option value=0>请选择</option>").appendTo(jQuery("#"+selName));
  if(jQuery("#"+sel).val()==0){
    return;
  }
  jQuery.getJSON(url,{pid:jQuery("#"+sel).val(),type:type_id},
    function(data){
      if(data){
        jQuery.each(data,function(idx,item){
          jQuery("<option value="+item.id+">"+item.name+"</option>").appendTo(jQuery("#"+selName));
        });
      }else{
        jQuery("<option value='0'>请选择</option>").appendTo(jQuery("#"+selName));
      }
    }
  );
}

4. SQL代码:

DROP TABLE IF EXISTS `tp_tree`;
CREATE TABLE `tp_tree` (
 `id` int(5) unsigned NOT NULL AUTO_INCREMENT,
 `pid` int(5) unsigned NOT NULL DEFAULT '0',
 `name` varchar(120) DEFAULT NULL,
 `type` tinyint(1) DEFAULT '2',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3410 DEFAULT CHARSET=utf8;

5. TP_tree.sql文件点击此处本站下载

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP - Html Transfer Code
Oct 09 PHP
缓存技术详谈―php
Dec 14 PHP
php在线生成ico文件的代码
Oct 09 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
Search File Contents PHP 搜索目录文本内容的代码
Feb 21 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
在html文件中也可以执行php语句的方法
Apr 09 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
php str_replace替换指定次数的方法详解
May 05 #PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 #PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 #PHP
php 浮点数比较方法详解
May 05 #PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 #PHP
完美解决在ThinkPHP控制器中命名空间的问题
May 05 #PHP
Yii2配置Nginx伪静态的方法
May 05 #PHP
You might like
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
js读取配置文件自写
2014/02/11 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
nodejs初始化init的示例代码
2018/10/10 NodeJs
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
layui实现三级联动效果
2019/07/26 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
深入浅析Python中的迭代器
2019/06/04 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
python实现梯度下降法
2020/03/24 Python
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
物业管理求职自荐信
2013/09/25 职场文书
早恋主题班会
2015/08/14 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
Android studio 简单计算器的编写
2022/05/20 Java/Android