php mysql 省市区联动_php+mysql+jquery实现省市联动

这篇博客展示了在CodeIgniter(CI)框架下,如何使用jQuery实现动态根据省份选择加载对应城市的功能。当用户更改省份选择时,通过AJAX调用CI控制器中的`get_city`方法获取城市数据,并更新到城市选择列表中。控制器中调用了模型的`get_area`方法查询数据库,返回JSON格式的城市数据。
摘要由CSDN通过智能技术生成

php为ci框架下,大家可以根据需要修改。

1.[代码][JQuery]代码

jquery 代码

(function($){

6 $.get_city = function(){

7 var province = $('#Province');

8 var city = $('#City');

9

10 province.change(function(){

11 city.find("option").remove();

12 city.append('---请选择城市---');

13

14 var parent_id = province.val();

15

16 $.ajax({

17 url:'sale/get_city/'+parent_id,

18 type:'post',

19 success:function(msg)

20 {

21 var area_arr = eval("("+msg+")");

22 if('object' == typeof(area_arr))

23 {

24 for(var i = 0; i < area_arr.length; i++)

25 {

26 city.append(''+area_arr[i].area_name+'')

27 }

28 }

29 else

30 {

31 //错误警报

32 }

33 }

34 })

35 })

36

37 }

})(jQuery);

2.[代码]为ci下controller中和model中的代码

ci的controller中代码,为了jquery中ajax动态获得

/**

118 * 根据省的选择改变获得相应的市

119 *

120 */

121 public function get_city($parent_id)

122 {

123 if(empty($parent_id))

124 {

125 echo "Error::参数错误!";

126 }

127

128 $city_arr = $this->sale_model->get_area(2, $parent_id);

129

130 if($city_arr)

131 {

132 echo json_encode($city_arr);

133 }

134 }

ci中model中的代码

/**

30 * 取出省市数据

31 *

32 */

33 public function get_area($level=0, $parent_id=0)

34 {

35 $tbl_area = self::TBL_Auto_area;

36 if(1 == $level)

37 {

38 $this->db->where('level', $level);

39 }

40 if(2 == $level)

41 {

42 $this->db->where('level', $level);

43 $this->db->where('parent_id', $parent_id);

44 }

45 $query = $this->db->get($tbl_area);

46 return $query->result_array();

47 }

3.[文件] auto_area.sql ~ 16KB     下载(382)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值