Dynami c выберите его не работает для второго выбора, используя ajax laravel? - PullRequest
0 голосов
/ 14 июля 2020

страна, которая заполняет выбранные города, а города заполняет выбранные районы, для выбранных городов она заполняется непосредственно, с другой стороны, выбирает район, она заполняет только это изменение значения выбранных городов. другой вопрос Могу ли я получить обе функции контроллера в одной функции?

create.blade. php

<div class="form-group">
         <label>country <span class="text-hightlight">*</span></label>
         <select class="form-control" name="country" id="country_id">
              <option selected disabled></option>
              @foreach($countries as $country)
              <option value="{{ $country->id }}">{{ $country->country }}</option>
              @endforeach
         </select>
        </div>

        <div class="form-group">
         <label>city <span class="text-hightlight">*</span></label>
         <select class="form-control" name="city" id="city_id">
              <option selected disabled></option>
         </select>
        </div>

        <div class="form-group">
         <label>district <span class="text-hightlight">*</span></label>
         <select class="form-control" name="district" id="district_id">
              <option selected disabled></option>
         </select>
        </div>

jQuery

<script>
  //select 
  $(document).on('change', '#country_id', function() {
        var country_id = $(this).val();
        var div = $(this).parent();
        var op = " ";
        $.ajax({
          type: 'get',
          url: "{{ route('annonces.selectV') }}",
          data: {
                 'idv':country_id,
                },
          success: function(data2){
                console.log(data2);
                for (var i = 0; i < data2.option.length; i++){
                   op += '<option value="'+data2.option[i].id+'">'+data2.option[i].city+'</option>';
                }
                $("#city_id").empty();
                $("#city_id").append(op);
          },
          error: function(){
              console.log('error');
          },
      });
      });
  //city
   $(document).on('change', '#city_id', function() {
        var city_id = $(this).val();
        var div = $(this).parent();
        var op = " ";
        $.ajax({
          type: 'get',
          url: "{{ route('annonces.selectI') }}",
          data: {
                 'idi':city_id,
                },
          success: function(data3){
                console.log(data3);
                for (var i = 0; i < data3.option.length; i++){
                   op += '<option value="'+data3.option[i].id+'">'+data3.option[i].district+'</option>';
                }
                $("#district_id").empty();
                $("#district_id").append(op);
          },
          error: function(){
              console.log('error');
          },
      });
      });

</script>

AnnonceController. php

public function selectV(request $request){
      $data2 = City::select('city', 'id')->where('Country_id', $request->idv)->get();
       return response()->json(['option'=>$data2]);
    }

    public function selectI(request $request){
      $data3 = District::select('district', 'id')->where('city_id', $request->idi)->get();
       return response()->json(['option'=>$data3]);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...