从数据库获取数据,并在选定值上显示在文本框中。拉拉韦尔5.7

时间:2018-12-31 11:14:21

标签: mysql laravel

更改选择框后,我不得不在文本框上显示数据,但是它无法正常工作,并且也无法控制ajax网址。

HTMl代码:

<select class="form-control" name="product_title" id="product_title">
    @foreach($product_title as $id => $p_title )
     <option value="{{ $id }}">{{ $p_title }}</option>
      @endforeach                                       
</select>
<input type="text" class="form-control" name="product_price" id="product_price">
<input type="text" class="form-control" name="product_quantity" id="product_quantity">

Js:

<script>
$(document).ready(function(){
  $("#product_title").change(function(){
        e.preventDefault();
               $.ajaxSetup({
                  headers: {
                      'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                  }
              });
         jQuery.ajax({
                  url: "{{ url('/productdetails') }}",
                  method: 'get',
                  data: {
                     id: jQuery('#product_title').val()
                  },
                  success: function(result){
                    jQuery('#product_price').html(result.product_price);
                    jQuery('#product_quantity').html(result.product_quantity);

                  }});

  });
 });
</script>

路线: 路线:: get('/ productdetails','ProductController @ getProduct');

  public function getProduct(Request $req)
   {
       $product = product::find($req->id)->first(); // Product is the model
       //dd($product);
       if ($product) 
       {
        return response()->json(['product_price' => $product->product_price,'product_quantity' => $product->product_quantity]);
       }
  }

数据库表名称是具有属性id,product_title,product_price,quantity的产品。当我从选择框相关值product_price中选择标题值时,来自数据库的数量将显示在文本框中。

2 个答案:

答案 0 :(得分:0)

看起来像问题在成功函数行上。 html对于为文本赋值没有用。它用于回显html。相反,您可以像下面这样使用val()

jQuery('#product_price').val(result.product_price); jQuery('#product_quantity').val(result.product_quantity);

希望有帮助。编码愉快。

答案 1 :(得分:0)

您可以使用简单的无jquery,如下所示

<select>
foreach($result as $key => $value)
{
  echo "<option value=".$your_id_variable.">".$your_display_variable."</option>";
}