【发布时间】:2011-02-06 16:38:07
【问题描述】:
我想用 ajax 创建自动提示文本框。写入一些字符后,它将返回电子邮件地址。从 DB 中的那些字符开始。那应该在JSP中开发。任何人都可以有一个想法吗?
【问题讨论】:
标签: java javascript jquery ajax jsp
我想用 ajax 创建自动提示文本框。写入一些字符后,它将返回电子邮件地址。从 DB 中的那些字符开始。那应该在JSP中开发。任何人都可以有一个想法吗?
【问题讨论】:
标签: java javascript jquery ajax jsp
您是否考虑过将 jquery UI 与您的 Web 应用程序集成。 jquery UI 有自动完成/建议插件http://docs.jquery.com/Plugins/autocomplete
它是 ajax,您只需提供一个单词列表
【讨论】:
我建议查看 jQuery UI 附带的 autocomplete plugin。
看看他们的official demo,它说明了它是如何工作的。
【讨论】:
执行以下操作:
在javascript中:
function getValue(str){
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
url = url +"?" +str;
xmlhttp.open("POST",url_to_get_db_data,false);
xmlhttp.send(null);
document.getElementById('id_of_div').innerHTML=xmlhttp.responseText;
document.getElementById('id_of_div').style.display = "block";
}
在 html 中:
<input onkeypress="getValue(this.value)"/> //--- this will be your input text
<div id="id_of_div" style="display:none;"> //--- this is your autosuggest box which will appear down to textbox. Use css to show it at proper location.
</div>
格式化您的 div,使其看起来像一个自动建议框。使用css 来实现这一点。
此外,当用户从自动建议框中选择一个选项时,调用 java 脚本函数执行以下操作
document.getElementById('id_of_div').style.display = "none";
编辑
在服务器端获取数据库列表时,请执行以下操作:
for(Iterator it=db_list.iterator();it.hasNext();)
{
Object obj = (Object) it.next();
String value = obj.getValue();
out.print(value+"<br>");
}
希望这会有所帮助。
【讨论】: