Ajax / Jquery & Laravel - динамический выпадающий выбор и извлечение значения выбора в текстовое поле - PullRequest
0 голосов
/ 30 декабря 2018

Я хочу получить свои данные в текстовом поле, выбрав выпадающий список на моем виде.теперь вот моя таблица. У меня есть эта таблица, которая заполняет мой раскрывающийся список с именем aircraft_registration_number, и когда я выбираю одно из его данных, мне нужно выбрать число или aircraft_id, в какой строке я выбираю и выбирается в текстовом поле.

Итак, взгляните на мой стол

enter image description here

и вот мой контроллер

public function findPrice(Request $request){
        $p = Aircraft::select('aircraft_id')->where('id',$request->id)->first();
        return response()->json($p);
    }

мой маршрут

 Route::get('/admin/aircrafts/findPrice', 'Admin\AircraftsController@findPrice');

my View

{{Form::select('aircraft_registration_number', $aircraft_reg,null,['class' => 'form-control-lg productname', 'placeholder' => 'Select RPC No.'])}}<br>
    <br>
    {{Form::text('prod_price', '', ['class' => 'form-control','data-dependent'=>'city'])}}

my AJAX / JQuery

 <script type="text/javascript">

  $(document).ready(function(){
        $(document).on('change','.productname',function(){
            var prod_id=$(this).val();

            var a=$(this).parent();
            console.log(prod_id);
            var op="";

            $.ajax({
            type:'get',
            url:'{!!URL::to('findPrice')!!}',
            data:{'id':prod_id},
            dataType:'json',//return data will be json
            success:function(data){
                console.log("price");
                console.log(data.price);

                // here price is column name in products table data.coln name

                a.find('.prod_price').val(data.price);

            },
            error:function(){

            }
        });


        });
  });

  </script>

на моем console.logs ошибка была такая

enter image description here

1 Ответ

0 голосов
/ 30 декабря 2018

Вы указали неправильный URL.

Измените это:

url:'{!! URL::to('findPrice') !!}',

на это:

url:'{!! URL::to('admin/aircrafts/findPrice') !!}',

Или:

url: '{!! url('admin/aircrafts/findPrice') !!}',

Редактировать: чтобы заполнить текстовое поле, вы также должны убедиться, что вы нацелены на правильный класс.Поскольку в вашем обратном вызове AJAX вы нацеливаетесь на .prod_price, вам также необходимо добавить класс в ваш ввод.

{{Form::text('prod_price', '', ['class' => 'form-control prod_price','data-dependent'=>'city'])}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...