Я пытаюсь использовать автозаполнение jquery ui, но оно не работает.Я просто вставил старый код, который у меня есть, который работает в других приложениях, использующих jquery 1.4.4 и jquery ui 1.8.6.Сейчас я пытаюсь использовать с jquery 1.6 и jquery ui 1.8.12.Выбор даты работает, но автозаполнение просто мигает и ничего не показывает.Вот коды:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>autocomplete</title>
<link rel="stylesheet" href="css/jquery.ui.all.css" type="text/css" media="screen" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#m').autocomplete({
source: "search.php",
minLength: 2
});
$('#dt').datepicker({
dateFormat: 'dd/mm/yy',
showWeek: true,
firstDay: 1,
changeMonth: true,
changeYear: true
});
});//jQuery End
</script>
</head>
<body>
<div class="ui-widget">
<label for="m">uf: </label>
<form>
<input type="text" id="m" name="m" />
<input type="text" id="dt" class="dt" />
</form>
</div>
</body
</html>
<?php
include_once 'inc/mysqli.php';
//$term = strtolower($_REQUEST['term']); //this was not needed
$term = $_REQUEST['m'];
$query = "SELECT * FROM cidades WHERE nome LIKE '%$term%'";
$result = $mysqli->query($query);
$arr = array();
while($obj = $result->fetch_assoc()) {
$arr[] = $obj['nome'];
}
//echo '('.json_encode($arr).')'; //for jsonp
echo json_encode($arr);
?>
У меня нет терпения с этим кодом, и, вероятно, из-за него я не вижу ошибки.
[Отредактировано] Если я сделаю простое утверждение SELECT, автозаполнение будет работать, но не так, как я хочу.Он показывает все результаты, и я хочу, чтобы он показывал отфильтрованные результаты по переменной $ term , которая не работает.Он станет очень медленным, когда начнет искать в реальной таблице более 9000 записей.