2016-05-27 19 views
-2

Ich versuche, eine automatische Textbox zu erstellen. Ich schrieb einen PHP-Code, um eine Liste von Werten aus einer API mit httpful zu erhalten. Unten ist der PHP-Code, um die Werte aufzulisten.Autocomplete-Textbox funktioniert nicht

 ->send(); 
    $json = $dt_response; 
    $json_output = json_decode($json, true); 
    for($i=0;$i<count($json_output);$i++) 
     { 
      echo $json_output[$i]['tracker_id'].'<br />'; 
     } 

Unten ist der JavaScript-Code, um den obigen Code aus search.php Datei aufzurufen.

 <script> 
     $(function() { 
      $("#trackid").autocomplete({ 
       source: 'search.php' 
      }); 
     }); 

      </script>  

HTML Textbox:

<div class="ui-widget"> 
    <label for="trackid">Tracker ID: </label> 
    <input id="trackid"> 
    </div> 

Das Problem ist, wenn ich versuche, den Wert in das Textfeld eingeben sie den Wert nicht fallen nach unten. Ich habe meinen PHP-Code überprüft, es funktioniert gut. Alle Dateien befinden sich im selben Ordner. Was ist das Problem?

+1

Haben Sie Ihre 'search.php' Datei selbst getestet? Ich bin mir ziemlich sicher, dass Sie hier ein paar Fehler bekommen. Und du mischst JSON mit HTML. Und die Rückkehr sollte ein JSON sein, keine Zeichenfolge, denke ich (ohne Autocomplete zu wissen). – Jeff

+0

Hallo @ Jeff. Danke für die Antwort. Ya ich überprüfe meinen PHP-Code. Ich denke, meine PHP-Ausgabe ist JSD-Daten. Wo ich json mit HTML mische. – user6161

+0

verwenden Sie bitte dieses Beispiel [Tinte] (http://stackoverflow.com/questions/37341424/php-mysql-autocomplete-does-not-working/37342012#37342012) – sasikaran

Antwort

0

Ich legte den folgenden PHP-Code auf Start.

<?php 
    require_once('search.php'); 
?> 

und änderte mein Javascript-Code zu

<script> 
    $(function() { 
    $("#trackid").autocomplete({ 
    source: <?php print_r(json_encode($options)); ?> 
    }); 
    }); 
</script> 

Slightly mein search.php Code geändert.

->send(); 
$json = $dt_response; 
$json_output = json_decode($json, true); 

for($i=0;$i<count($json_output);$i++) 
    { 
     $trackerid[$i]=$json_output[$i]['tracker_id']; 
    } 
$options = $trackerid; 

Jetzt funktioniert es gut.

Verwandte Themen