2015-05-19 54 views
0

我想创建一个Autocompleter,它可以从服务器获取建议(建议将在您编写单词的第一个字母后出现)。在服务器上的单词是在一个数据库(一个文字表)。Autocompleter与来自服务器的请求

我写这个搜索框

<!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

备注:是否有一个特定的原因,你正在使用prototype&scriptaculous而不是jQuery? – Adon

+0

这是我们的老师推荐的。但我认为,如果我使用jQuery,没有问题。 – Eleanordum

+0

jQuery是一个比Prototype更好,更新的JavaScript框架。我建议你使用它。 https://jqueryui.com/autocomplete/应该有所帮助。 – Adon

回答

0

让我们用一个出色的解决方案,确实可以工作:jquery-ui autocomplete

阅读文档将其设置为服务器端等待名为“术语” GET参数,并返回一个JSON数组(通过使用功能例如数组)上json_encode

丁醇钠财神阿米科MIO

0

我想你还没有指定一个事件呢。

由于是可以如的onkeyup或的onkeydown指定的事件的文本输入字段和调用该函数执行Scriptaculous的的autocompleter(这是一个位奇怪)

所以

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

但顺便说一句,当在生产环境中使用jquery

相关问题