我正在尝试使用ajax调用获取特定产品的价格。到目前为止,我已经尝试过了。但是选择产品后我没有得到价格

时间:2019-11-24 10:50:54

标签: javascript jquery ajax laravel

我的blade.php

<select name="productname[]" class="form-control productname">
   <option value="0" selected="true" disabled="true">Select Product</option>
 @foreach ($stock as $product)
   <option value="{{$product->id}}">{{$product->productname}}</option>
 @endforeach
 </select>

用户从此处选择产品,我希望自动填写ptice输入字段。

<td><input type="text" name="price[]" class="form-control price"></td>

使用此javascript

 $('tbody').delegate('.productname','change', function(){
  var tr=$(this).parent().parent();
  var id = tr.find('.productname').val();
  var dataId={'id':id};
   $.ajax({
    type    :   'GET',
    url     : "{{route('findprice')}}",
    dataType:   'json',
    data    :   dataId,
    success:function(data){
        tr.find('text.price').val(data[0].price);
    }
   });
 });

在我的控制器中,我正在使用这个东西。

public function findprice(Request $request)
  {
   $data = Stock::where('price')->where('id',$request->id)->first();
   return response()->json($data);
  }

任何可以帮助我的人。

1 个答案:

答案 0 :(得分:0)

您在查询中有错误。添加

$data = Stock::select('price')
           ->where('id',$request->id)
           ->first();

您放置了“位置”而不是“选择”