データベース内の利用可能なエントリからユーザーの場所を設定する簡単な検索ボックスがあります。jQuery UIのオートコンプリートを機能させようとしていますが、問題が発生しています。ChromeでJavaScriptコンソールをオンにすると、入力を開始してもスクリプトからの応答が表示されません。
望ましい結果は、「City、State」形式で都市をリストするドロップダウンオートコンプリートリストです。私はここSOに関するいくつかの投稿を見て、この問題を解決するために多くの試みでコードを変更しましたが、運がありません。ガイダンス/修正に事前に感謝します。とても有難い。
これが私のjQueryUIコードです(code.jquery.comによってホストされている最新のライブラリを使用しています)
<script type="text/javascript">
$(document).ready(function()
{
$('#locale').autocomplete(
{
source: "./state_autocomplete.php",
minLength: 2
});
});
</script>
これが私のフォームコードです:
<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>
そして、これが情報を引き出すmysqliスクリプトです
<?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;
?>