2016-12-31 30 views
0

我的項目有問題。 我想要一個從數據庫中獲取數據的自動完成輸入,所以當我輸入自動完成輸入的視圖時,問題就開始了。該視圖只給我一個白色屏幕,其中包含我的「客戶」表中的所有值的數組(自動完成輸入值取自此表)。 我認爲這個問題可能在我的路線上,但我不知道該怎麼做。Laravel 5自動完成Jquery

途徑:

Route::get('/nuevaVenta', '[email protected]'); 
Route::get('/nuevaVenta', '[email protected]'); 

控制器(ventas.php):

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Requests; 
use App\Cliente; 
use Illuminate\Support\Facades\Input; 

class ventas extends Controller 
{ 
    public function index(){ 
     return view('/nuevaVenta'); 
    } 

    public function autocomplete(Request $Request){ 

     $term = Input::get('term'); 
     $results = array(); 
     $queries = Cliente::where('nombre', 'LIKE', '%'.$term.'%') 
      ->orWhere('apellido_paterno', 'LIKE', '%'.$term.'%') 
      ->take(10)->get(); 

     foreach ($queries as $query) 
     { 
      $results[] = [ 'id' => $query->id, 'value' => $query->nombre.' '.$query->apellido_paterno.' '.$query->apellido_materno]; 
     } 
     return response()->json($results); 
     //\Response::json($results); 
    } 
} 

視圖(nuevaVenta.blade.php):

@extends('master') 
@section('contenido') 
<script src="{{asset("js/validaciones.js")}}"></script> 
<script src="{{asset("js/nuevaVenta.js")}}"></script> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 

<form class="form-horizontal" action="{{url('/nuevaVenta')}}" method="GET"> 
    <input type="hidden" name="_token" value="{{csrf_token()}}"> 
    <br> 
    <div class="form-control" style="background-color: lightblue"><label>Registro de Ventas</label></div> 
    <div class="col-xs-12" style="border:1px solid lightblue"> 
     <div class="form-group"> 
      <label class="control-label col-sm-12" style ="color: #4cae4c">Clave:0001</label> 
     </div> 
     <div class="form-group"> 
      <label class="control-label col-sm-1" style ="font-weight: normal">Cliente:</span></label> 
      <div class="col-sm-10"> 
       <input type="text" name="cliente" class="form-control solo-letras" id="cliente" style="width: 40%;" placeholder="Buscar cliente..." required> 
      </div> 
     </div> 
     <hr> 
     <div class="form-group"> 
      <label class="control-label col-sm-1" style ="font-weight: normal">Artículo:</label> 
      <div class="col-sm-10"> 
       <input type="text" name="cliente" class="form-control" style="width: 40%; display: inline;" placeholder="Buscar Artículo..." required> 
       <a href="#" style="display: inline"><span class="glyphicon glyphicon-plus btn btn-primary"></span></a> 
      </div> 
     </div> 
     <hr> 
     <div class="col-xs-12"> 
      <table class="table"> 
       <thead class="thead-inverse"> 
       <tr> 
        <th>Descripción Artículo</th> 
        <th>Modelo</th> 
        <th>Cantidad</th> 
        <th>Precio</th> 
        <th>Importe</th> 
       </tr> 
       </thead> 
       <tbody> 
       <tr> 
        <td></td> 
       </tr> 
       </tbody> 
      </table> 
     </div> 
    </div> 
</form> 
@stop 

JS文件(ventas.js) :

$(document).ready(function(){ 
    $('#cliente').autocomplete({ 
     autoFocus: true, 
     minLength:3, 
     dataType: "json", 
     source:'ventas/autocomplete', 
     select:function(event, ui){ 
      alert(ui); 
     } 
    }); 

}); 

我使用的是自動完成構件從jQuery的UI庫

回答

0

您的路線似乎複製,這就是爲什麼,所以使用唯一的途徑,

Route::get('/nuevaVenta', '[email protected]'); 
Route::get('/nuevaVentaAutocomplete', '[email protected]');