龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php ajax 实现三级省市区联动

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
<无详细内容>
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]代码     跳至 [2] [3] [4] [5] [全屏预览]

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]代码     跳至 [2] [3] [4] [5] [全屏预览]

<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]代码     跳至 [2] [3] [4] [5] [全屏预览]

<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>
精彩图集

赞助商链接