0
Вот HTML и код JavaScript:Ajax livesearch окно
$('document').ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote:'livesearch.php?key=%QUERY',
limit : 10
});
});
<html>
<head>
<title>Ajax Search Box using PHP and MySQL</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
<script src="typeahead.js"></script>
</head>
<body>
<input type="text" name="typeahead">
</body>
</html>
Файл PHP содержит:
$key=$_GET['key'];
$array = array();
$query = $db->query(" SELECT * from product WHERE ProductName LIKE '%{$key}%' ") or die (mysql_error());
while($row = $query->fetch())
{
$array[] = $row['ProductName'];
}
echo json_encode($array);
РНР работает абсолютно нормально. Но я не могу получить текст в поле ввода
Как вы можете сказать, что это работает нормально? Вы можете увидеть скрипт php, который вызывается при вводе (Проверить инструменты разработчика, вкладку сети). Любые ошибки скрипта в консоли? Что/где есть typeahead.js? Если есть ошибка, она может быть там. – GolezTrol
Вы не выбираете элемент ввода. Используйте '$ ('input [name = typeahead]')'. Ваш селектор ищет вход с ** классом ** typeahead. – Barry
Обратите внимание, что ваш запрос очень опасен. Люди могут вводить фрагменты кода SQL в поле и прерывать ваш скрипт или, возможно, повредить вашу базу данных. – GolezTrol