thinkPHP實(shí)現(xiàn)的省市區(qū)三級(jí)聯(lián)動(dòng)功能示例
本文實(shí)例講述了thinkPHP實(shí)現(xiàn)的省市區(qū)三級(jí)聯(lián)動(dòng)功能。分享給大家供大家參考,具體如下:
一張表實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)【3409條數(shù)據(jù)】
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">鎮(zhèn)/區(qū)</option> </select>
3. javascript代碼:
function loadRegion(sel,type_id,selName,url){ jQuery("#"+selName+" option").each(function(){ jQuery(this).remove(); }); jQuery("<option value=0>請(qǐng)選擇</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'>請(qǐng)選擇</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文件點(diǎn)擊此處本站下載。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
tp5使用layui實(shí)現(xiàn)多個(gè)圖片上傳(帶附件選擇)的方法實(shí)例
在以前項(xiàng)目中遇到有上傳圖片都是用 web Uploader插件上傳,因?yàn)槲椰F(xiàn)在項(xiàng)目都在使用 layui 所以今天趁著有時(shí)間寫(xiě)一個(gè)tp5結(jié)合layui上傳圖片的示例,感興趣的可以了解一下2021-10-10Laravel 實(shí)現(xiàn)關(guān)系模型取出需要的字段
今天小編就為大家分享一篇Laravel 實(shí)現(xiàn)關(guān)系模型取出需要的字段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10淺談PHP調(diào)用Webservice思路及源碼分享
NuSoap是PHP環(huán)境下的WebService編程工具,用于創(chuàng)建或調(diào)用WebService。它是一個(gè)開(kāi)源軟件,是完全采用PHP語(yǔ)言編寫(xiě)的、通過(guò)HTTP收發(fā)SOAP消息的一系列PHP類。NuSOAP的一個(gè)優(yōu)勢(shì)是不需要擴(kuò)展庫(kù)的支持,這種特性使得NuSoap可以用于所有的PHP環(huán)境,不受服務(wù)器安全設(shè)置的影響。2014-06-06修改apache配置文件去除thinkphp url中的index.php
這篇文章主要介紹了修改apache配置文件去除thinkphp url中的index.php的方法,大家參考使用吧2014-01-01PHP-FPM之Chroot執(zhí)行環(huán)境詳解
在PHP-FPM中設(shè)立chroot,有很好的隔離作用,提高系統(tǒng)安全性,但是要想建立一個(gè)合理的PHP-FPM Chroot環(huán)境難度有點(diǎn)大,比用debootstrap等工具建立還要麻煩,這篇文章就詳細(xì)介紹了PHP-FPM之Chroot執(zhí)行環(huán)境,需要的朋友可以參考下。2015-08-08thinkPHP簡(jiǎn)單實(shí)現(xiàn)多個(gè)子查詢語(yǔ)句的方法
這篇文章主要介紹了thinkPHP簡(jiǎn)單實(shí)現(xiàn)多個(gè)子查詢語(yǔ)句的方法,結(jié)合實(shí)例形式對(duì)比分析了thinkPHP中子查詢語(yǔ)句的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-12-12落伍首發(fā) php+mysql 采用ajax技術(shù)的 省 市 地 3級(jí)聯(lián)動(dòng)無(wú)刷新菜單 源碼
落伍首發(fā) php+mysql 采用ajax技術(shù)的 省 市 地 3級(jí)聯(lián)動(dòng)無(wú)刷新菜單 源碼...2006-12-12laravel返回統(tǒng)一格式錯(cuò)誤碼問(wèn)題
在使用yii和laravel的過(guò)程中,兩個(gè)框架對(duì)web-api都非常友好,也都對(duì)restful做了不同程度的支持,但是還是遇到了一些問(wèn)題,下面以laravel6.4為例,簡(jiǎn)單描述下我遇到的問(wèn)題,需要的朋友參考下吧2019-11-11ThinkPHP自定義Redis處理SESSION的實(shí)現(xiàn)方法
這篇文章主要介紹了ThinkPHP自定義Redis處理SESSION的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了ThinkPHP相關(guān)數(shù)據(jù)庫(kù)配置與自定義Redis處理session的實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-05-05