您好,欢迎访问一九零五行业门户网

thinkPHP实现的省市区三级联动功能示例

这篇文章主要介绍了thinkphp实现的省市区三级联动功能,详细分析了thinkphp实现省市区三级联动功能的详细步骤与相关操作技巧,需要的朋友可以参考下
本文实例讲述了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内置的thinkajax实现异步传输技术的实现方法
thinkphp中使用ajax接收json数据的方法
以上就是thinkphp实现的省市区三级联动功能示例的详细内容。
其它类似信息

推荐信息