您好,登錄后才能下訂單哦!
小編給大家分享一下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;
看完了這篇文章,相信你對“thinkPHP如何實現的省市區三級聯動功能”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。