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 相关文章推荐
Discuz板块横排显示图片的实现方法
May 28 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
浅析php数据类型转换
Jan 09 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
php技巧小结【推荐】
Jan 19 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 PHP
php实现JWT验证的实例教程
Nov 26 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
理解javascript模块化
2016/03/28 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
Python自动连接ssh的方法
2015/03/07 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
解决python删除文件的权限错误问题
2018/04/24 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Puppeteer使用示例详解
2019/06/20 Python
Python tkinter三种布局实例详解
2020/01/06 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
违反校纪校规检讨书
2014/02/15 职场文书
大学四年个人总结
2015/03/03 职场文书
工程服务质量承诺书
2015/04/29 职场文书
800字作文之大雪
2019/12/04 职场文书
iPhone13再次曝光
2021/04/15 数码科技
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
Python初识逻辑与if语句及用法大全
2021/08/07 Python