Heim  >  Artikel  >  php教程  >  Thinkphp realisiert eine dreistufige Verbindung zwischen Provinzen und Gemeinden

Thinkphp realisiert eine dreistufige Verbindung zwischen Provinzen und Gemeinden

大家讲道理
大家讲道理Original
2016-11-08 10:55:581236Durchsuche

Eine Tabelle realisiert die dreistufige Verknüpfung von Provinzen und Gemeinden [3409 Daten]

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);
}
<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>
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));
            }
        }
    );
}
</script>
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;
Stellungnahme:
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