thinkPHP实现的省市区三级联动功能示例
程序员文章站
2024-03-09 08:46:29
本文实例讲述了thinkphp实现的省市区三级联动功能。分享给大家供大家参考,具体如下:
一张表实现省市区三级联动【3409条数据】
1. php代码:
pu...
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》及《php模板技术总结》。
希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。