求jquery.autocomplete示例

丰富的分地方的 2009-12-29 02:11:26
能查数据库的,数据最好用json传
...全文
343 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
沐希 2009-12-29
  • 打赏
  • 举报
回复
晕,这个就是调用的边输入边查的啊。你自己写的不对吧。
xinji84 2009-12-29
  • 打赏
  • 举报
回复
LZ,回头是岸吧,Jquery不是什么好东西,真的,我没骗你,
如果一定要用也千万别用Jquery的相关组件,不然用了后,会出现严重内存泄漏问题,嘿嘿嘿嘿嘿嘿
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cjzlcsf 的回复:]
页面首先引入jquery.js和jquery.AutoComplete.js文件,js仿照以下的写。其中ACTION中从数据库中取得的值最后通过STRING型回传的。
    <script language="javascript" src="${ctx}/js/jquery.js"> </script>
<script language="javascript" src="${ctx}/js/jquery.AutoComplete.js"> </script>


<script type="text/javascript">
$().ready(function() {
$("#userName").autocomplete("${ctx}/knowServiceRepAction.do?dispatch=findUserToZX", {
                    minChars: 0,
                    max:15,
                    width: 200,
                    scroll: false,
                    scrollHeight: 500,
                    parse: function(data) {
return $.map(eval(data), function(row) {
return {
data: row,
value: row.name,
result: row.name
}
});
},
            formatItem: function(data, i, total) {
                  return " <div style='float:left'>"+data.name+" </div>";
            },
            formatMatch: function(data, i, total) {
                        return data.name;
                    },
            formatResult: function(data, value) {
                        return data.name;
                    }
                }).result(function(event, data, formatted) {
                        $("#duixingid").val(data.id);
});
$("#selectAll").bind("click",function(){
if($("#selectAll").attr("checked")==true){
$("#userName").attr("disabled","disabled");
}else{
$("#userName").removeAttr("disabled");
}
});
});
</script>

    input type="text" id="userName" name="userName" size="40"/> </td>


action中方法

String userName = request.getParameter("q");
userName = new String(userName.getBytes("iso-8859-1"),"utf-8");
List <Userinfo> list = userService.findAllUserByLoginType(2l, userName);
response.setContentType("text/plain;charset=utf-8");
PrintWriter pw = response.getWriter();
StringBuffer strb = new StringBuffer();
strb.append("[");
int size = list.size();
for (int i = 0; i < size; i++) {
Userinfo user = (Userinfo)list.get(i);
strb.append("{ name: " + "\'"+user.getUsername()+"\'"+", id: " + "\'"+user.getUserid()+"\'" + "}");
if(i < size-1){
strb.append(",");
}
}
strb.append("]");
pw.write(strb.toString()); 
[/Quote]

我自己写完了,但是有个问题
我本来是想我边输提示框边更新的所以我加了$("#companyName").change(function()
但是现在是输完后还要让那个input失去焦点才会去查,应该怎么改呢
沐希 2009-12-29
  • 打赏
  • 举报
回复


页面首先引入jquery.js和jquery.AutoComplete.js文件,js仿照以下的写。其中ACTION中从数据库中取得的值最后通过STRING型回传的。
<script language="javascript" src="${ctx}/js/jquery.js"></script>
<script language="javascript" src="${ctx}/js/jquery.AutoComplete.js"></script>


<script type="text/javascript">
$().ready(function() {
$("#userName").autocomplete("${ctx}/knowServiceRepAction.do?dispatch=findUserToZX", {
minChars: 0,
max:15,
width: 200,
scroll: false,
scrollHeight: 500,
parse: function(data) {
return $.map(eval(data), function(row) {
return {
data: row,
value: row.name,
result: row.name
}
});
},
formatItem: function(data, i, total) {
return "<div style='float:left'>"+data.name+"</div>";
},
formatMatch: function(data, i, total) {
return data.name;
},
formatResult: function(data, value) {
return data.name;
}
}).result(function(event, data, formatted) {
$("#duixingid").val(data.id);
});
$("#selectAll").bind("click",function(){
if($("#selectAll").attr("checked")==true){
$("#userName").attr("disabled","disabled");
}else{
$("#userName").removeAttr("disabled");
}
});
});
</script>

input type="text" id="userName" name="userName" size="40"/> </td>



action中方法

String userName = request.getParameter("q");
userName = new String(userName.getBytes("iso-8859-1"),"utf-8");
List<Userinfo> list = userService.findAllUserByLoginType(2l, userName);
response.setContentType("text/plain;charset=utf-8");
PrintWriter pw = response.getWriter();
StringBuffer strb = new StringBuffer();
strb.append("[");
int size = list.size();
for (int i = 0; i < size; i++) {
Userinfo user = (Userinfo)list.get(i);
strb.append("{ name: " + "\'"+user.getUsername()+"\'"+", id: " + "\'"+user.getUserid()+"\'" + "}");
if(i < size-1){
strb.append(",");
}
}
strb.append("]");
pw.write(strb.toString());

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧