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_Flame(Version:Progress)的原代码
Oct 09 PHP
生成sessionid和随机密码的例子
Oct 09 PHP
php编写一个简单的路由类
Apr 13 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
PHP打印输出函数汇总
Aug 28 PHP
PHP中的密码加密的解决方案总结
Oct 26 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
PHP超全局变量实现原理及代码解析
Sep 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
PHP4.04简明安装
2006/10/09 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
javascript 显示当前系统时间代码
2009/12/28 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
select标签设置默认选中的选项方法
2018/03/02 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
2014年圣诞节促销方案
2014/03/14 职场文书
数据保密承诺书
2014/06/03 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
创卫工作总结2015
2015/04/22 职场文书
民主生活会主持词
2015/07/01 职场文书
葬礼主持词
2015/07/02 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL