php ajax 实现三级省市区联动

来源:互联网 发布:数据周报模板 编辑:程序博客网 时间:2024/05/22 10:31

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

diqudaima.sql 

0 0
原创粉丝点击