Ajax / Jquery&Laravel-动态下拉列表选择并将选择值提取到文本框

时间:2018-12-30 10:06:24

标签: jquery mysql ajax laravel eloquent

我想通过选择视图上的下拉菜单来在文本框中获取数据。现在这是我的表,该表填充了名为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');

我的观点

{{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'])}}

我的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 :(得分:1)

您定位的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'])}}