1.前台html代码

//$province 是根据pid=0查询出来的一级省
<div id="EIMS_C_27_1_divPCA">
    <select id="EIMS_C_27_1_Province" class="EIMS_C_27_1_Province"
        onchange="getProvince(this,'#EIMS_C_27_1_City')">
        <option value="-1">请选择</option>
        {foreach $province as $p}
        <option value="{$p.id}">{$p.title}</option>
        {/foreach}
    </select>
    <select id="EIMS_C_27_1_City" class="EIMS_C_27_1_City"
        onchange="getSelCity(this,'#EIMS_C_27_1_Area')">
        <option value="-1">请选择</option>
    </select>
    <select id="EIMS_C_27_1_Area" class="EIMS_C_27_1_Area">
        <option value="-1">请选择</option>
    </select>
    <script src="/static/pc/js/init_address.js"></script>
    <script>
    </script>
</div>

2.js代码

//选择省份弹出市区
function getProvince(obj,second) {
    var id = $(obj).find("option:selected").val();
    if (id!==-1) {
        $.ajax({
            type : "post",
            url : "/pc/ceping/getDetailArea",
            dataType : "json",
            data : {
                "id" : id
            },
            success : function(data) {
                if (data != null && data.length > 0) {
                    var str = "";
                    for (var i = 0; i < data.length; i++) {
                        str += '<option value="'+data[i].id+'">'+data[i].title+'</option>';
                    }
                    $("#EIMS_C_27_1_Province option[value='-1']").remove();
                    $(second).html(str);
                    getSelCity("#EIMS_C_27_1_City","#EIMS_C_27_1_Area");
                    // $("#EIMS_C_27_1_Area").html('<option value="-1" selected="selected">请选择区</option>');
                }
            }
        });
    }

};

//选择市区弹出区域
function getSelCity(obj,second) {
    var id = $(obj).find("option:selected").val();
    $.ajax({
        type : "post",
        url : "/pc/ceping/getDetailArea",
        dataType : "json",
        data : {
            "id" : id
        },
        success : function(data) {
            if (data != null && data.length > 0) {
                var str = "";
                for (var i = 0; i < data.length; i++) {
                        str += '<option value="'+data[i].id+'">'+data[i].title+'</option>';
                }
                $(second).html(str);
            }
        }
    });
}

3.php代码

//根据地区pid查询下一级市或者区
public function getDetailArea($id)
{
    $model = new Area();
    return $model->getArea($id);
}

public function getArea($id)
{
    return self::where('pid',$id)->select();
}

phper
17 声望0 粉丝

一个phper