Ajax-запрос возвращает правильное значение в журнале консоли, но не отображается в представлении - PullRequest
0 голосов
/ 30 апреля 2018

Это мой HTML-код.

  <div class="form-group row add">
                        <label class="control-label col-sm-2" for="division_id">Division Name:</label>
                        <div class="col-sm-10">
                            <select name="district_id" id ="district_id" class="selectdistrict">
                                <option value="">--Select district--</option>
                               @foreach($atmdistrict as $cat)
                                <option value="{{$cat->id}}">{{$cat->name}}</option>
                                @endforeach
                            </select>
                        </div>
                    </div>
                     <div class="form-group row add">
                        <label class="control-label col-sm-2" for="thana_id">Thana Name:</label>
                        <div class="col-sm-10">
                            <select name="thana_id" class="thananame" id ="thana_id" >
                               <option value="0" disabled="true" selected="true">Thana Name</option>
                            </select>
                        </div>
                    </div>

Это мой ajax-запрос для зависимого выпадающего списка.

  $(document).ready(function(){

        $(document).on('change','.selectdistrict',function(){
         console.log("hmm its change");

            var district_id=$(this).val();
             console.log(district_id);
            var div=$(this).parent();

            var op=" ";

            $.ajax({
                type:'get',
                url:'{!!URL::to('findThanaName')!!}',
                data:{'id':district_id},
                success:function(data){
                    console.log('success');

                    console.log(data);

                    //console.log(data.length);
                    op+='<option value="0" selected disabled>chose thana</option>';
                    for(var i=0;i<data.length;i++){
                    op+='<option value="'+data[i].id+'">'+data[i].name+'</option>';
                    console.log(data[i].name);
                   }

                   div.find('.thananame').html(" ");
                 //  console.log(  div.find('.name').html(" "));
                   div.find('.select').append(op);
                   //console.log(  div.find('.select').append(op));
                },
                error:function(){
                        console.log('error');
                }
            });
        });

    });

Журнал консоли не показывает ошибок и возвращает правильные данные. Тем не менее, раскрывающееся меню не показывает никаких данных. Я не могу понять, где я иду не так.

снимок экрана с запущенной программой

1 Ответ

0 голосов
/ 30 апреля 2018

попробуйте изменить:

div.find('.select').append(op);

по:

$("#thana_id").html(op);
...