У меня есть библиотека iQuery для автозаполнения которую брал отсюда сылка
2.html страница со списком
<script type="text/javascript" charset="windows-1251" src="js/jquery.autocomplete.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#input_text').autocomplete({
serviceUrl:'3.php',//скрипт выдающий список подсказок для автозаполнения
minChars:2, //количество символов введённых пользователем при которых начинается автозаполнение
width: 300, //ширина поля для вывода предлагаемых результатов автозаполнения
highlight: true, //запретить подсветку букв совпадающих с введёнными
onSelect: function(value, data){ document.forms['input_form'].submit(); } //функция выполняющаяся при выборе пользователем одного из предложеных вариантов
});
});
</script>
<form name="input_form" id="input_form" action="" method="POST" >
<input id="input_text" type="text" size="50" value="" autocomplete="off">
</form>
стиль
<style type="text/css">
.autocomplete-w1 {
font: 90% Verdana, Arial, Helvetica, sans-serif;
background:url(js/shadow.png) no-repeat bottom right;
position:absolute;
top:0px;
left:0px;
margin:6px 0 0 6px; /* IE6 fix: */
_background:none;
_margin:1px 0 0 0; }
.autocomplete {
font: 90% Verdana, Arial, Helvetica, sans-serif;
border:1px solid #999;
background:#FFF;
cursor:default;
text-align:left;
max-height:350px;
overflow:auto;
margin:-6px 6px 6px -6px; /* IE6 specific: */
_height:350px;
_margin:0;
_overflow-x:hidden; }
.autocomplete .selected { background:#F0F0F0; }
.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }
.autocomplete strong { font-weight:normal; color:#3399FF; }
</style>
и Php скрипт дающий данные для автозаполнения
<?PHP
$dbhost = "localhost";
$dbuser = "";
$dbpass = "";
$dbname = "anidbase";
mysql_connect( $dbhost, $dbuser, $dbpass ) or die( mysql_error() );
mysql_select_db( $dbname ) or die( mysql_error() );
$rs = mysql_query( "SELECT nazv FROM group_us");
$rs_cnt=mysql_num_rows($rs);
$json_str="[";
for($i=0;$i<$rs_cnt;$i++)
{
if ($i==0) $json_str.="'".mysql_result($rs,$i,'nazv')."'";
else $json_str.=",'".mysql_result($rs,$i,'nazv')."'";
}
$json_str.="]";
echo $json_str;
?>
Спустя 2 часа, 42 минуты, 40 секунд (24.06.2012 - 21:36) forza написал(а):
Не нужно вручную генерировать json строку. Есть такая функция как json_encode(), которая сама это сделает.
Подаете массив - получаете строку в формате json.
Подаете массив - получаете строку в формате json.
Спустя 16 минут, 10 секунд (24.06.2012 - 21:52) Игорь_Vasinsky написал(а):
я генерировал и нормуль всё.
что кажет
что кажет
echo $json_str;
Спустя 49 минут, 18 секунд (24.06.2012 - 22:42) forza написал(а):
Я понимаю, что это можно сгенерировать ручным способом, но шанс ошибиться возрастает очень сильно ) Потом приходиться проверять. Проще же сгенерировать массив и пропустить через функцию и не тратить время на дебагинг.
Спустя 32 минуты, 29 секунд (24.06.2012 - 23:14) morgan4ik написал(а):
сам php код - генерация, работает правильно, я сам проверял ее! проблема в том что когда я ввожу в text любое слово которое есть в бд - нет ни какой реакции на ввод. И я не могу понять почему(
Спустя 1 минута, 37 секунд (24.06.2012 - 23:16) Игорь_Vasinsky написал(а):
мне по душе - ручками. за электричество платить меньше.
а тут он по видимому - накасячил и строка формируется криво - поэтому я и говорю - сделай вывод строки и глянь чё на колдовал.
отладчиком JS пользовался?
google chrome -> f12 -> console
все ошибки JS
может у тя вообще div с нужным id не прописан
отладчиком JS пользовался?
google chrome -> f12 -> console
все ошибки JS
может у тя вообще div с нужным id не прописан