自动填充来自服务器

时间:2015-05-19 13:59:57

标签: php autocomplete scriptaculous

我想创建一个自动填充程序,它会从服务器中提出建议(在您编写单词的第一个字母后会出现建议)。在服务器上,单词在数据库中(带有单词的表)。

我为搜索框写了这个

<!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不起作用,我不知道我做错了什么。

2 个答案:

答案 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

相关问题