Dieser Artikel stellt hauptsächlich die von thinkPHP implementierte dreistufige Verknüpfungsfunktion vor. Er analysiert die detaillierten Schritte und zugehörigen Betriebstechniken von thinkPHP zur Implementierung der dreistufigen Verknüpfungsfunktion von Provinzen und Gemeinden dazu
Das Beispiel in diesem Artikel beschreibt die von thinkPHP implementierte dreistufige Verknüpfungsfunktion von Provinzen und Gemeinden. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Eine Tabelle realisiert die dreistufige Verknüpfung von Provinzen und Gemeinden [3409 Daten]
1 PHP-Code :
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-Code:
<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-Code:
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-Code:
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-Datei.
Verwandte Empfehlungen:
Verwendung des Ajax-Empfangs in ThinkPHP JSON Datenmethode
Das obige ist der detaillierte Inhalt vonBeispiel einer von thinkPHP implementierten dreistufigen Verknüpfungsfunktion von Provinzen und Gemeinden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!