省市区三级联动|全国城市三级联动【ajax&thinkphp3.2】(摘自TPshop)

  • 2,068

省市区三级联动|全国城市三级联动【ajax&thinkphp3.2】(摘自TPshop)

/**
 * 获取省份
 */
function get_province(){
    var url = '/index.php?m=Admin&c=Api&a=getRegion&level=1&parent_id=0';
    $.ajax({
        type : "GET",
        url  : url,
        error: function(request) {
            alert("服务器繁忙, 请联系管理员!");
            return;
        },
        success: function(v) {
            v = '<option value="0">选择省份</option>'+ v;
            $('#province').empty().html(v);
        }
    });
}


/**
 * 获取城市
 * @param t  省份select对象
 */
function get_city(t){
    var parent_id = $(t).val();
    if(!parent_id > 0){
        return;
    }
    $('#district').empty().css('display','none');
    $('#twon').empty().css('display','none');
    var url = '/index.php?m=Home&c=Api&a=getRegion&level=2&parent_id='+ parent_id;
    $.ajax({
        type : "GET",
        url  : url,
        error: function(request) {
            alert("服务器繁忙, 请联系管理员!");
            return;
        },
        success: function(v) {
            v = '<option value="0">选择城市</option>'+ v;
            $('#city').empty().html(v);
        }
    });
}

/**
 * 获取地区
 * @param t  城市select对象
 */
function get_area(t){
    var parent_id = $(t).val();
    if(!parent_id > 0){
        return;
    }
    $('#district').empty().css('display','inline');
    $('#twon').empty().css('display','none');
    var url = '/index.php?m=Home&c=Api&a=getRegion&level=3&parent_id='+ parent_id;
    $.ajax({
        type : "GET",
        url  : url,
        error: function(request) {
            alert("服务器繁忙, 请联系管理员!");
            return;
        },
        success: function(v) {
            v = '<option>选择区域</option>'+ v;
            $('#district').empty().html(v);
        }
    });
}

function get_area2(t){
    var parent_id = $(t).val();
    if(!parent_id > 0){
        return;
    }
    $('#twon').empty().css('display','none');
    var url = '/index.php?m=Home&c=Api&a=getRegion&level=3&parent_id='+ parent_id;
    $.ajax({
        type : "GET",
        url  : url,
        error: function(request) {
            alert("服务器繁忙, 请联系管理员!");
            return;
        },
        success: function(v) {
            v = '<option>选择区域</option>'+ v;
            $('#district').empty().html(v);
        }
    });
}
// 获取最后一级乡镇
function get_twon(obj){
    var parent_id = $(obj).val();
    var url = '/index.php?m=Home&c=Api&a=getTwon&parent_id='+ parent_id;
    $.ajax({
        type : "GET",
        url  : url,
        success: function(res) {
            if(parseInt(res) == 0){
                $('#twon').empty().css('display','none');
            }else{
                $('#twon').css('display','inline');
                $('#twon').empty().html(res);
            }
        }
    });
}




<tr>
    <td align="right"><span class="xh">*</span>收货地址:&nbsp;</td>
    <td>
        <select class="di-bl fl seauii" name="province" id="province" onChange="get_city(this,0)">
            <option value="0">请选择</option>
            <volist name="province" id="p">
                <option <if condition="$address['province'] eq $p['id']">selected</if>  value="{$p.id}">{$p.name}</option>
            </volist>
        </select>

        <select class="di-bl fl seauii" name="city" id="city" onChange="get_area(this)">
            <option  value="0">请选择</option>
            <volist name="city" id="p">
                <option <if condition="$address['city'] eq $p['id']">selected</if>  value="{$p.id}">{$p.name}</option>
            </volist>
        </select>

        <select class="di-bl fl seauii" name="district" id="district" onChange="get_twon(this)">
            <option  value="0">请选择</option>
            <volist name="district" id="p">
                <option <if condition="$address['district'] eq $p['id']">selected</if>  value="{$p.id}">{$p.name}</option>
            </volist>
        </select>

        <select class="di-bl fl seauii" name="twon" id="twon" <if condition="$address['twon'] gt 0 ">style="display:block;"<else/>style="display:none;"</if>>
          <volist name="twon" id="p">
                <option <if condition="$address['twon'] eq $p['id']">selected</if>  value="{$p.id}">{$p.name}</option>
            </volist>
        </select>
        <br>
    </td>
</tr>




/*
 * 获取地区
 */
public function getRegion(){
    $parent_id = I('get.parent_id/d');
    $data = M('region')->where("parent_id", $parent_id)->select();
    $html = '';
    if($data){
        foreach($data as $h){
            $html .= "<option value='{$h['id']}'>{$h['name']}</option>";
        }
    }
    echo $html;
}



function address_edit(id)
{
  if(id > 0)
    var url = "/index.php?m=Home&c=User&a=edit_address&scene=1&call_back=call_back_fun&id="+id; // 修改地址  '/index.php/Home/User/add_address/scene/1/call_back/call_back_fun/id/id' //iframe的url /index.php/Home/User/add_address
  else
    var url = "/index.php?m=Home&c=User&a=add_address&scene=1&call_back=call_back_fun";	// 新增地址
  layer.open({
    type: 2,
    title: '添加收货地址',
    shadeClose: true,
    shade: 0.8,
    area: ['880px', '580px'],
    content: url,
  });
}



<script>
    function checkForm(){
        var consignee = $('input[name="consignee"]').val();
        var province = $('select[name="province"]').find('option:selected').val();
        var city = $('select[name="city"]').find('option:selected').val();
        var district = $('select[name="district"]').find('option:selected').val();
        var address = $('textarea[name="address"]').val();
        var mobile = $('input[name="mobile"]').val();
        var error = '';
        if(consignee == ''){
            error += '收货人不能为空 <br/>';
        }
        if(province==0){
            error += '请选择省份 <br/>';
        }
        if(city==0){
            error += '请选择城市 <br/>';
        }
        if(district==0){
            error += '请选择区域 <br/>';
        }
        if(address == ''){
            error += '请填写地址 <br/>';
        }

         if(!checkMobile(mobile) && !checkTelphone(mobile)){
        	error += '手机号码或固话号码格式有误 <br/>';
        }

        if(error){
            //alert(error);
			layer.alert(error, {icon: 2});
		//	layer.msg('只想弱弱提示');
            return false;
        }
        return true;
    }
</script>

 

weinxin
我的微信
这是我的微信扫一扫
开拓者博主
  • 本文由 发表于 2018年4月30日20:26:42
  • 转载请务必保留本文链接:https://www.150643.com/504.html
匿名

发表评论

匿名网友 填写信息