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 self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
在Windows系统上安装PHP运行环境文字教程
Jul 19 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
php读取mysql的简单实例
Jan 15 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
joomla数据库操作示例代码
Jan 06 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
Jul 18 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
php实现遍历文件夹的方法汇总
Mar 02 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
PHP实现简易blog的制作
2016/10/24 PHP
node.js中的path.sep方法使用说明
2014/12/08 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
python实现图片插入文字
2019/11/26 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
python学生管理系统的实现
2020/04/05 Python
Keras自定义IOU方式
2020/06/10 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
七年级地理教学反思
2014/01/26 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
最常使用的求职信
2014/05/25 职场文书
2014年度工作总结报告
2014/12/15 职场文书
先进个人自荐书
2015/03/06 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript