私がしたいことは、jQueryUIの機能によってオートコンプリートを使用して結果を分類することです。いくつかのグーグルなどの後、私はそれがinbuilt関数(http://jqueryui.com/demos/autocomplete/#categories)を持っていることがわかりましたが、例はローカルデータソース(javascriptの配列)のみです。私はリモートデータソースを扱っています。 私のコードはここにPHP mysqlのカテゴリでオートコンプリートが機能しない
<script>
$(function() {
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
$("#search").catcomplete({
delay:0,
source: "search.php",
select: function(event, ui){
alert(ui.item.label);
}
});
});
</script>
</head>
<body>
<label for="search">Search: </label>
<input id="search">
</body>
あるsearch.php
<?php
$conn = mysqli_connect("localhost","root","","test") or die(mysqli_error());
$searchTerm = $_GET['term'];
$sql = "select * from country_ref_table where country_code LIKE '%".$searchTerm."%' ORDER BY country_code ASC";
$result = mysqli_query($conn,$sql) or die(mysqli_error($conn));
$data = [];
while($row = mysqli_fetch_array($result))
{
$data[] = $row['country_code'];
$data[] = $row['country'];
}
echo json_encode($data);
?>
あなたの質問は何ですか? –
クエリに$ searchTermを追加するのを忘れてしまった。 –