您的位置:首页 > 编程语言 > PHP开发

php ajax 实现三级省市区联动

2013-04-12 11:50 726 查看
数据库结构:下载

public function getdiqudaima(){
		
			$rs = $this->db->table('diqudaima')
					   ->field("province,city,zonename,zonecode")
					   ->where("areaid=1 ")
					   ->getAll();
			$this->db->lastSql();
			return $rs;
		}
		public function getq($code,$n){
		$where = "and zonecode like '$code%'";
			$rs = $this->db->table('diqudaima')
					   ->field("province,city,zonename,zonecode")
					   ->where("areaid = $n ".$where)
					   ->getAll();
			return $rs;
		}


public function showdiqu(){
			$test = load_model('Test');
			$data = $test->getdiqudaima();
			$this->output->set('data',$data);
			$this->output->display('test.html');
			
		}
		public function showcity(){
			$test = load_model('Test');
			$code = $this->input->getTrim('code');
			$datacity = $test->getq($code,2);
			echo json_encode($datacity);
		}
		public function showqu(){
			$test = load_model('Test');
			$code = $this->input->getTrim('code');
			$datacity = $test->getq($code,3);
			echo json_encode($datacity);
		}


<script>
	function getcity(){
		var a = $("#pro").val();
		$.post("?c=Test&a=showcity",{code: a},
			function(data){
				var obj = eval('('+data+')');
				$("#city").empty();
				$("#city").prepend("<option value='-1'>请选择市</option>"); 		
				for(var p in obj){
					$("#city").append("<option value="+obj[p].zonecode+">"+obj[p].zonename+"</option>");
				    
				}
			}
		);	
	}
	function getq(){
		var a = $("#pro").val();
		$.post("?c=Test&a=showqu",{code: a},
			function(data){
				var obj = eval('('+data+')');
				$("#zone").empty();
				$("#zone").prepend("<option value='-1'>请选择区</option>"); 		
				for(var p in obj){
					$("#zone").append("<option value="+obj[p].zonecode+">"+obj[p].zonename+"</option>");
				    
				}
			}
		);
	}
</script>


<select name="province" id="pro" onchange="getcity()">
	<option>请选择省</option>
<!--{foreach $data as $v}-->
	<option value="{$v[zonecode]}">{$v[province]}</option>
<!--{/foreach}-->    
</select>
<select name="city" id="city" onchange="getq()">
	<option>请选择市</option>
</select>
<select name="city" id="zone">
	<option>请选择区</option>
</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: