我想创建一个自动填充程序,它会从服务器中提出建议(在您编写单词的第一个字母后会出现建议)。在服务器上,单词在数据库中(带有单词的表)。
我为搜索框写了这个
<!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不起作用,我不知道我做错了什么。
答案 0 :(得分:0)
让我们使用一个实际运作良好的解决方案:jquery-ui autocomplete:
阅读文档来设置它,服务器端等待名为“term”的get参数并返回一个json数组(例如,通过在数组上使用函数json_encode)
buona fortuna amico mio
答案 1 :(得分:0)
我认为你还没有指定一个事件。
由于是一个文本输入字段,你可以指定一个事件,如onkeyup或onkeydown,你调用执行scriptaculous自动完成器的函数(这有点奇怪)
所以
{<input type="text" id="tbox" onkeyup="initializare()"/>}
但顺便说一下,在生产环境中使用jquery