php ajax 实现三级省市区联动

2. [代码][PHP]代码     

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;
		}

3. [代码][PHP]代码     

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);
		}

4. [代码][PHP]代码     

<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>

5. [代码][PHP]代码     

<select name="province" id="pro" οnchange="getcity()">
	<option>请选择省</option>
<!--{foreach $data as $v}-->
	<option value="{$v[zonecode]}">{$v[province]}</option>
<!--{/foreach}-->    
</select>
<select name="city" id="city" οnchange="getq()">
	<option>请选择市</option>
</select>
<select name="city" id="zone">
	<option>请选择区</option>

</select>

diqudaima.sql 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值