2016-08-15 1 views
2

Ich habe Standard jQuery Autocomplete-Funktion und ziehen Sie eine Daten aus SQL. Es funktioniert, aber ich möchte Informationen in das Feld ein und wählen Sie den Typ (nach Benutzer ist zufrieden mit Ergebnis) komplett eingereicht ein (Code) und Feld 2 (Beschreibung)JQuery Autocomplete Rückkehr in mehrere Dateien

Felder:

<input type="text" name="code" id="code" /> 
<input type="text" name="description" id="description" /> 

jQuery:

$(document).ready(function() { 
    $(function() { 
    $("#code").autocomplete({ 
     source: "source.php", 
     minLength: 0 
    });     
}); 
}); 

PHP:

while ($row = $sql -> fetch(PDO::FETCH_ASSOC)) 
{ 
$values[] = array('code'=>$row['code']     
       ,'description'=>$row['description']  
       ); 
} 
echo json_encode($values); 

ich viele Fragen prüfen bereits, aber nichts Vergleichbares .

+0

ich ein gutes einfaches Beispiel gefunden: http://jsfiddle.net/f2aZ8/ und es funktioniert – Klapsius

Antwort

0

Sie können versuchen, so etwas wie dieses

$(function() { 
    var data = [];  
    $("#code").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      url: "source.php", 
      data: { 
      q: request.term 
      }, 
      success: function(data) { 
      var codes = []; 
      for(var i = 0; i< data.length; i++){     
       codes.push(data[i].code); 
      } 
      response(codes); 
      } 
     }); 
     }, 
     minLength: 2, 
     select: function(event, ui) { 
     for(var i = 0; i< data.length; i++){ 
      if(data[i].code == ui.item.label) { 
       $('#description').val(data[i].description); 
       break; 
      } 
      } 
     } 
    }); 
    }); 
+0

ich Fehler Uncaught Typeerror haben: codes.map keine Funktion – Klapsius

+0

@Klapsius Ich habe den Code aktualisiert. – Kld

+0

Etwas falsch mit dem Code neu, ich habe Fehler: Uncaught TypeError: Kann die Eigenschaft 'Label' von undefined_normalize nicht lesen – Klapsius