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 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
php图片上传存储源码并且可以预览
Aug 26 PHP
PHP中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
PHP常用正则表达式集锦
Aug 17 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 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
PHP脚本中include文件出错解决方法
2008/11/20 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
再探JavaScript作用域
2014/09/24 Javascript
jQuery链使用指南
2015/01/20 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
python跳出双层for循环的解决方法
2019/06/24 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
学校门卫岗位职责
2014/03/16 职场文书
论文评语大全
2014/04/29 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
Python语言规范之Pylint的详细用法
2021/06/24 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL