thinkPHP实现的省市区三级联动功能示例
本文实例讲述了thinkPHP实现的省市区三级联动功能。分享给大家供大家参考,具体如下:
一张表实现省市区三级联动【3409条数据】
1.php代码:
publicfunctionindex(){
$province=M('Tree')->where(array('pid'=>1))->select();
$this->assign('province',$province);
$this->display();
}
publicfunctiongetRegion(){
$Region=M("Tree");
$map['pid']=$_REQUEST["pid"];
$map['type']=$_REQUEST["type"];
$list=$Region->where($map)->select();
echojson_encode($list);
}
2.HTML代码:
省份/直辖市 {$vo.name} 市/县 镇/区
3.javascript代码:
functionloadRegion(sel,type_id,selName,url){
jQuery("#"+selName+"option").each(function(){
jQuery(this).remove();
});
jQuery("请选择").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(""+item.name+"").appendTo(jQuery("#"+selName));
});
}else{
jQuery("请选择").appendTo(jQuery("#"+selName));
}
}
);
}
4.SQL代码:
DROPTABLEIFEXISTS`tp_tree`; CREATETABLE`tp_tree`( `id`int(5)unsignedNOTNULLAUTO_INCREMENT, `pid`int(5)unsignedNOTNULLDEFAULT'0', `name`varchar(120)DEFAULTNULL, `type`tinyint(1)DEFAULT'2', PRIMARYKEY(`id`) )ENGINE=MyISAMAUTO_INCREMENT=3410DEFAULTCHARSET=utf8;
5.TP_tree.sql文件点击此处本站下载。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。