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程序设计有所帮助。