2016-12-31 2 views
0

У меня проблема с моим проектом. Мне нужен вход автозаполнения, который получает данные из базы данных, поэтому проблема начинается, когда я вхожу в представление, где находится вход автозаполнения. Вид дает мне белый экран с массивом, который содержит все значения в моей таблице «клиенты» (значения для ввода автозаполнения взяты из этой таблицы). Я думаю, что проблема может быть на моих маршрутах, но я не знаю, что делать.Laravel 5 автозаполнение JQuery

Маршруты:

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

Controller (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); 
    } 
} 

View (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 

файл расслоение плотной (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]'); 
Смежные вопросы