2015-05-19 1 views
0

Я хочу сделать автозапуск, который приносит предложения с сервера (предложения появятся после того, как вы напишете первую букву слова). На сервере слова находятся в базе данных (таблица со словами).Autocompleter с sugestions с сервера

Я написал это для окна поиска

<!DOCTYPE html> 
<html> 
<head> 
<script src="scriptaculous/lib/prototype.js" type="text/javascript"></script> 
<script src="scriptaculous/src/scriptaculous.js" type="text/javascript"></script> 
<style> 
div#sugestii 
{width:250px;border:1px solid red} 
div#sugestii ul 
{ 
list-style-type:none; 
margin:0px; 
padding:0px; 
} 
div#sugestii ul li.selected 
{background-color:#ffb;} 
div#sugestii ul li 
{ cursor:pointer} 
</style> 
<script> 
function initializare() 
{ 
new Ajax.Autocompleter("tbox", "sugestii", "sugestii.php",{}) 
} 
</script> 
</head> 
<body onload="initializare()" style="margin:0px"> 
Caseta de cautare:<br/> 
<input type="text" id="tbox"/> 
<div id="sugestii"></div> 
</body> 
</html> 

И это sugestii.php

<?php 
print '<ul><li>first suggestion</li><li>second suggestion</li><li>third suggestion</li></ul>'; 
?> 

Моя проблема заключается в том, что Autocompleter не работает, и я не знаю, что я делать неправильно.

+1

Замечание: Есть ли конкретная причина, по которой вы используете прототип и сценарий, а не jQuery? – Adon

+0

Это то, что рекомендует наш учитель. Но я думаю, что нет проблем, если я буду использовать jQuery. – Eleanordum

+0

jQuery - это намного лучшая и обновленная инфраструктура JavaScript, чем Prototype. Я предлагаю вам использовать его. https://jqueryui.com/autocomplete/ должен помочь. – Adon

ответ

0

Давайте использовать хорошо сделано решение, которое на самом деле работает: jquery-ui autocomplete:

прочитать документ, чтобы установить его, на стороне сервера ожидания для параметра GET с именем «термин» и возвращает массив JSON (с помощью функции json_encode на массив, например)

Buona Fortuna Амико Мио

0

Я думаю, что вы не указали событие еще.

Поскольку это поле ввода текста можно указать такие события, как OnKeyUp или OnKeyDown и вызове функции выполнения autocompleter из Scriptaculous (что немного странно)

так

{<input type="text" id="tbox" onkeyup="initializare()"/>} 

Но, кстати, когда в производственной среде используется jQuery

Смежные вопросы