Ich habe seit gestern damit zu kämpfen. Ich erhalte erfolgreich die Daten vom Server im Json-Format, aber die Daten werden nicht im Eingabefeld angezeigt. Ich habe ähnliche Fragen geprüft und denke, es ist eine Art Formatproblem die frage dieses kerls, aber ich konnte es nicht lösen. Ich habe viele Codebeispiele ausprobiert und dies war das unkomplizierteste.
HTML-Formular
<form action="" method="post">
<input type="text" placeholder="Name" id="customerAutocomp" class="ui-autocomplete-input" />
</form>
Javascript
$(function() {
$("#customerAutocomp").autocomplete({
source: "suggest_name.php",
minLength: 2,
select: function(event, ui){
var url = ui.value.id;
if (url !== "#") {
location.href = "/somepage.php?somecode=" + url;
}
},
// optional
html: true,
// optional (if other layers overlap the autocomplete list)
open: function(event, ui) {
$(".ui-autocomplete").css("z-index", 1000);
}
});
});
JQuery-Versionen das ich benutze
<script src="//code.jquery.com/jquery-2.2.4.js"> </script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
PHP
//connnections strings//
$conn = mysql_connect($host, $username, $password, $db_name) or die("Could not connect: " . mysql_error());
mysql_select_db("stackoverflow");
$term = trim(strip_tags($_GET["term"]));
$qstring = "SELECT fullname as value,id FROM users WHERE fullname LIKE "%".$term."%"";
$result = mysql_query($qstring);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$row["value"]=htmlentities(stripslashes($row["value"]));
$row["id"]=(int)$row["id"];
$row_set[] = $row;
}
echo json_encode($row_set);
Antworten:
0 für die Antwort № 1Entfernen Sie die in der JSON-Antwort zurückgegebenen Skriptdateien.
Ich hoffe es hilft !