最近因为项目需要,整理了一下自动完成的例子,代码使用起来非常方便,javascript只需要一句代码,后台只要生成指定格式的div就可以了,封装的javascript代码会帮你处理一切。
整理了一个struts1.2的例子,见附件。源代码在/WEB-INF/classes下面。
其中对编码的处理是使用escape,javascript编码,就不会出现中文乱码。不仅可以自动完成,还可以对文本框、下拉框赋值,只要定义id就可以了,因为使用了prototype的$(""),这个标记与document.getElementById("")是等价的。
简单描述一下,具体可以看附件:
首先导入所需要的js文件
[code]
<%
String context = request.getContextPath();
%>
<script type="text/javascript" src="<%= context%>/js/lib/prototype.js"></script>
<script type="text/javascript" src="<%= context%>/js/lib/autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="<%= context%>/css/autocomplete/autocomplete.css" />
[/code]
然后加上简单的一句javascript代码就OK了。
[code]
<script type="text/javascript">
//只要一句话就可以完成自动完成,提高开发速度,count表示一次显示的记录条数,显示记录的时候,超过10条显示下拉框
new AutoTip.AutoComplete("province", function() {
return "<%= context%>/autocomplete.do?method=province&count=10&inputValue=" + escape(this.text.value);
});
</script>
[/code]
其中/autocomplete.do?method=province为struts1.2里面的DispatchAction的路径,括号里面的province为需要自动完成的文本框的name值。
可以看一下效果
整理了一个struts1.2的例子,见附件。源代码在/WEB-INF/classes下面。
其中对编码的处理是使用escape,javascript编码,就不会出现中文乱码。不仅可以自动完成,还可以对文本框、下拉框赋值,只要定义id就可以了,因为使用了prototype的$(""),这个标记与document.getElementById("")是等价的。
简单描述一下,具体可以看附件:
首先导入所需要的js文件
[code]
<%
String context = request.getContextPath();
%>
<script type="text/javascript" src="<%= context%>/js/lib/prototype.js"></script>
<script type="text/javascript" src="<%= context%>/js/lib/autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="<%= context%>/css/autocomplete/autocomplete.css" />
[/code]
然后加上简单的一句javascript代码就OK了。
[code]
<script type="text/javascript">
//只要一句话就可以完成自动完成,提高开发速度,count表示一次显示的记录条数,显示记录的时候,超过10条显示下拉框
new AutoTip.AutoComplete("province", function() {
return "<%= context%>/autocomplete.do?method=province&count=10&inputValue=" + escape(this.text.value);
});
</script>
[/code]
其中/autocomplete.do?method=province为struts1.2里面的DispatchAction的路径,括号里面的province为需要自动完成的文本框的name值。
可以看一下效果