省市区三级异步联动

20 篇文章 0 订阅
HTML代码
<html>
 <head></head>
 <body>
  网点区域  
  <span style="padding-left:15px;">省份</span> 
  <label for="select"></label> 
  <select class="Provinces" name="province" id="select" style="width:150px;"> <option selected="selected" value="">载入中...</option> </select> 
  <span style="padding-left:15px;">城市</span> 
  <label for="select"></label> 
  <select class="City" name="city" id="select" style="width:150px;"> <option selected="selected" value="">请选择</option> </select> 
  <span style="padding-left:15px;">地区</span> 
  <label for="select"></label> 
  <select class="Region" name="county" id="select" style="width:150px;"> <option selected="selected" value="">请选择</option> </select>  
 </body>
</html>


juqery代码
<script type="text/javascript">
$(document).ready(
    function()
    {   
        //载入省份
        $.get("__APP__/Admin/Network/check?type=Provinces&id=0", 
          function(data){
            $('.Provinces').html(data);
          }
        )
            

    }
);

$('.Provinces').change(
    function()
    {  
        $.get("__APP__/Admin/Network/check?type=City&id="+$('.Provinces').val(), 
          function(data){
            $('.City').html(data);
          }
        )
            

    }
);



$('.City').change(
    function()
    {  
        $.get("__APP__/Admin/Network/check?type=Region&id="+$('.City').val(), 
       // var cityval = $('.City').val();
       //$.get("__APP__/Admin/Network/check",{type:Region,id:cityval}, 
          function(data){
            $('.Region').html(data);
          }
        )
            

    }
);

//也可以换成load方法来加载
//例如最后一个可以这样写
//$('.City').change(function(){
//    $('.Region').load("__APP__/Admin/Network/check?type=Region&id="+$('.City').val());
//});
//load方法参考:<a target=_blank href="http://www.w3school.com.cn/jquery/ajax_load.asp">http://www.w3school.com.cn/jquery/ajax_load.asp</a>

 </script>

PHP代码
//联动查询数据添加/编辑
	public function check()
	{
		$id = $_GET['id'];
		if (is_numeric($id))
		{
		    $type = $_GET['type'];
			$Ajax_list = '';
			
			$Region = M('region');             // 连接数据表
			
			if ($type == 'Provinces')          // 省份列表
			{
			   $Ajax_list = $Region->where(array('actid'=>0))->select();
			}
			else if ($type == 'City')          // 城市列表
			{
			    $Ajax_list = $Region->where(array('actid'=>$id))->select(); 
			}
			else if ($type == 'Region')        // 地区列表
			{

			    $Ajax_list = $Region->where(array('actid'=>$id))->select(); 
				
				if ( count($Ajax_list) == 0)   // 如果地区信息不存在,载入上级城市名以填充
				{
				    $Ajax_list = $Region->where(array('actid'=>$id))->select(); 
				}
			}
			$this->assign("Ajax_list",$Ajax_list);
			$this->display();
		}
	}

对应的check.html模板代码
<option select="selected" value="">请选择</option>
<volist name="Ajax_list" id="vo">
    <option value="{$vo.id}">{$vo.name}</option>
</volist>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值