jQueryUI autocomplete mit PHP und JSON
Habe ich ein einfaches Suchfeld, die gehen, um den Standort eines Benutzers aus den verfügbaren Einträgen in meiner Datenbank. Ich versuche jQuery UI ' s AutoVervollständigen arbeiten, bin aber in Probleme laufen. Mit der JavaScript-Konsole eingeschaltet, in Chrome sehe ich keine Antwort von der Skript, wie ich mit der Eingabe beginnen.
Gewünschten Ergebnis, wird eine AutoVervollständigen-dropdown-Liste, die Listen von Städten in der "Stadt, Staat" - format. Ich habe mehrere Beiträge hier auf SO und haben meine modifizierten code in viele versuche, um dieses Problem zu beheben, aber kein Glück. Vielen Dank im Voraus für jede Anleitung /Korrekturen. Sehr geschätzt wird.
Hier mein jQuery UI-code (ich bin mit den aktuellen Bibliotheken hosted by code.jquery.com)
<script type="text/javascript">
$(document).ready(function()
{
$('#locale').autocomplete(
{
source: "./state_autocomplete.php",
minLength: 2
});
});
</script>
Hier ist mein form-code:
<form name="frm_set_locale" method="post" action="/index2.php">
<input type="text" name="locale" id="locale" class="textbox">
<input type="submit" class="button" name="frm_submit_locale" value="Search">
</form>
Und hier ist die mysqli-Skript, das zieht die Informationen
<?php
include "/includes/dbconn.php";
//Query to get the usable locations
$locale = trim($_GET['term']);
$return = array();
$q = "SELECT `city`, `state` FROM `locales` WHERE `city` LIKE '%".$locale."%'";
$r = mysqli_query($q, $connect);
$json = "[";
$first = true;
while ($row = mysqli_fetch_assoc($r, $connect)){
if(!$first){
$json .= ",";
}else{
$first = false;
}
$json .= "{'value':'".$row['city'].", ".$row['state']."}";
}
$json .= "]";
echo $json;
?>
- Du bist Nicht die BUCHUNG der Anfrage
- Verstanden. Die post ist die Methode, wenn Sie wählen Sie ein Ergebnis aus der jqueryui AutoVervollständigen. Der ausgewählte Wert von der state_autocomplete.php Skript wird dann geschrieben von dem Benutzer, wenn Sie auf submit klicken.
- Ja, aber Sie haben bis zum 1.
request
fürJson data
zurück zu kommen, wieObject
um die Quelle von IhremUI AutoComplete
. <br/> Siehe unten im code.. - Ich bin mir ziemlich sicher, dass Sie ungültige JSON-Sie brauchen einen "Schlüssel" für die "state" - Wert.
- Whitaker, das war mein denken, aber alle Beispiele, die ich gesehen habe für diese autocomplete mit remote-Datenquelle verwenden Sie nur auf dem Feld wieder in die SQL-Abfrage so bin ich nicht sicher, wie Sie Sie hinzufügen, um die sekundären Schlüssel.
- Ja in der Tat.. Ein
LITERAL
für den Staat Wert ist zu müssen! - Auf die gleiche Weise wie es für "Wert"
Du musst angemeldet sein, um einen Kommentar abzugeben.
1. Ein Literal für den Staat Wert ist erforderlich..
2. Sie haben auf Anfrage die Daten per Ajax post
Dank für all die Hilfe. Ich nahm einen neuen Ansatz für die state_autocomplete.php und hier ist, was es für mich arbeiten. Wirklich sauber.
Die auto-vervollständigen-Funktion, die Sie verwenden nicht ein ajax-Aufruf mit query-string wie gewünscht aus
<input type="text" name="locale" id="locale" class="textbox">
Für Sie arbeiten, ändern
zu
Das Skript generiert dann alle Städte und Staaten, dann die "auto-vervollständigen" - Funktion, mit der Benutzer-Eingabe.