Beispiel einer von thinkPHP implementierten dreistufigen Verknüpfungsfunktion von Provinzen und Gemeinden

不言
Freigeben: 2023-03-30 09:26:02
Original
1891 Leute haben es durchsucht

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);
}
Nach dem Login kopieren

2. HTML-Code:

<select name="province" id="province" onchange="loadRegion(&#39;province&#39;,2,&#39;city&#39;,&#39;{:U(&#39;Index/getRegion&#39;)}&#39;);">
  <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(&#39;city&#39;,3,&#39;town&#39;,&#39;{:U(&#39;Index/getRegion&#39;)}&#39;);">
 <option value="0">市/县</option>
</select>
<select name="town" id="town">
 <option value="0">镇/区</option>
</select>
Nach dem Login kopieren

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=&#39;0&#39;>请选择</option>").appendTo(jQuery("#"+selName));
      }
    }
  );
}
Nach dem Login kopieren

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 &#39;0&#39;,
 `name` varchar(120) DEFAULT NULL,
 `type` tinyint(1) DEFAULT &#39;2&#39;,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3410 DEFAULT CHARSET=utf8;
Nach dem Login kopieren

5. TP_tree.sql-Datei.

Verwandte Empfehlungen:

Verwendung des in ThinkPHP integrierten ThinkAjax zur Implementierung der asynchronen Übertragungstechnologie

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!