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扩展函数
Oct 09 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 PHP
php实现用户登陆简单实例
Apr 04 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
PHP6新特性分析
2016/03/03 PHP
常用PHP封装分页工具类
2017/01/14 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
javascript编程起步(第五课)
2007/02/27 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Python下载网络小说实例代码
2018/02/03 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
大学三年的自我评价
2013/12/25 职场文书
品质保证书格式
2015/02/28 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
酒店厨房管理制度
2015/08/06 职场文书
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技