Exemple de fonction de liaison à trois niveaux des provinces et des municipalités mise en œuvre par thinkPHP

不言
Libérer: 2023-03-30 09:26:02
original
1877 Les gens l'ont consulté

Cet article présente principalement la fonction de liaison à trois niveaux des provinces et des municipalités mise en œuvre par thinkPHP. Il analyse les étapes détaillées et les techniques de fonctionnement associées de thinkPHP pour mettre en œuvre la fonction de liaison à trois niveaux des provinces et des municipalités. Les amis dans le besoin peuvent se référer. à cela

L'exemple de cet article décrit la fonction de liaison à trois niveaux des provinces et des municipalités mise en œuvre par thinkPHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Une table réalise un couplage à trois niveaux des provinces et des municipalités [3409 éléments de données]

1. :

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);
}
Copier après la connexion

2. Code HTML :

<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>
Copier après la connexion

3.

4. Code SQL :
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));
      }
    }
  );
}
Copier après la connexion

5. Fichier TP_tree.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 &#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;
Copier après la connexion
.

Recommandations associées :

Utilisation de ThinkAjax intégré à ThinkPHP pour implémenter la technologie de transmission asynchrone


Utilisation de la réception ajax dans ThinkPHP json méthode de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!