省市县 三级联动

html代码

<select name="fang_province" id="province" style="padding: 0 10px" data-id="1" >
   <option value="">----省----</option>
       @foreach($data as $v)
          <option value="{{$v->id}}">{{$v->name}}</option>
       @endforeach
</select>
<select name="fang_city" id="city" style="padding: 0 10px" data-id="2">
   <option value="">----市----</option>
</select>
<select name="fang_region" id="region" style="padding: 0 10px">
   <option value="">----区----</option>
</select>

js代码 

方法一:

  $("#province").change(function (){
        let id = $('#province option:selected').val();
        $.ajax({
            url:"{{route('fang.create')}}",
            data:{id},
            success:function (res){
                if(res.code ==200){
                    $('#city').find("option:not(':first-child')").remove();
                    $('#region').find("option:not(':first-child')").remove();
                    $.map(res.data,function (v,k){
                        $('#city').append("<option value='"+v.id+"'>"+v.name+"</option>")
                    })

                }
            }
        })
    })
        $("#city").change(function (){
        let id = $('#city option:selected').val();
        $.ajax({
            url:"{{route('fang.create')}}",
            data:{id},
            success:function (res){
                if(res.code ==200){
                    $('#region').find("option:not(':first-child')").remove();
                    $.map(res.data,function (v,k){
                        $('#region').append("<option value='"+v.id+"'>"+v.name+"</option>")
                    })

                }
            }
        })
    })

方法二:

  $("#province,#city").change(function (){
        let id = $(this).find('option:selected').val();
        let flag = $(this).attr('data-id');

        if(flag == 1){
             $('#city').find("option:not(':first-child')").remove();
             $('#region').find("option:not(':first-child')").remove();
             getCtiy(id,'#city');
        }else {
            $('#region').find("option:not(':first-child')").remove();
            getCtiy(id,'#region');
        }
    })
function getCtiy(id,dom){
         $.ajax({
            url:"{{route('fang.create')}}",
            data:{id},
            success:function (res){
                if(res.code ==200){
                    $('#region').find("option:not(':first-child')").remove();
                    $.map(res.data,function (v,k){
                        $(dom).append("<option value='"+v.id+"'>"+v.name+"</option>")
                    })

                }
            }
        })
}

后端代码

public function create()
    {
        $data = City::where('pid',0)->get();
        if(\request()->ajax()){
            $id = \request()->get('id');
            $list = City::where('pid',$id)->get();
            return ['code'=>200,'msg'=>'success','data'=>$list];
        }
        return view('admin.fang.add',compact('data'));
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值