laravel中带有ajax的动态组合框

时间:2017-05-07 07:23:38

标签: php jquery laravel

我想在laravel中制作dinamic组合框,我这样做,我的ajax在我看来是

 $(document).ready(function(){
    $('#vendor').change(function(){
      var vendor = $('vendor').val();

      $.ajax({
        type: 'POST',
        url : '{{url('/getInvoiceNo')}}',

        data:{
          "_token":"{{csrf_token()}}",
          'vendorId' : vendor
        }, 
        success: function(data){
          $('#invoice').html($return);
        }

      });
    });

  });

我在我的控制器中有这个功能

 public function getInvoiceNo(Request $request)
    {
        $data = invoice::all()->where('VendorId', '=', $request->vendorId);

       $return = '<option value=""></option>';
        foreach($data as $row) 
        $return .= "<option value='$row->id'>$row->InvoiceNo</option>";
         echo ($return);

    }

但是这个sintaks仍然是一个错误,当我运行$ return时找不到并且组合框发票没有变化

1 个答案:

答案 0 :(得分:0)

假设你的路线中有这个:

Route::get('/get-invoice-no', 'Controller@getInvoiceNo')

下拉功能:

$('#vendor').change(function(){
      var vendor = $('vendor').val();
      $.get('get-invoice-no',
      {
        id:$(this).val()
      },function(data,status){
        $('#invoice').empty();
        $('#invoice').append('<option value=''>$row->Select Invoice</option>');
        $.each(data,function(index,value){
            $('#invoice').append('<option class="select" value="'+value['id']+'">'+value['InvoiceNo']+'</option>')
        });
      });
    }

你的路线是什么:

 public function getInvoiceNo(Request $request)
 {
   $data = invoice::where('VendorId','=', $request->vendorId)->get();
   return $data;       
 }

但你必须确保你也有发票模型。 :)