我现在需要用到 autocomplete + ajax 来实现一个搜索自动填充功能由于是第一次使用 autocomplete ,而且没使用过 jquery,所以在显示返回内容的时候遇到困难我自己写了些代码,在输入关键字后,input type="text"下出现:
[{"userCode":"loty"}{"userCode":"landy"}]实际上我想要的结果是:loty
landy请问各位大虾应该怎样写?希望能给出完整的代码,谢谢!以下为本人写的代码:
js:
<script type="text/javascript">
$().ready(function() {
$("#search").autocomplete(
"<%=basePath%>/right/Right!searchUser.action", //连接到action
{
max: 10,
scroll: false,
width: 162
}
);
}RightAction.java
public void searchUser(){String inputKey = request.getParameter("q");
String ik = inputKey+"%";
System.out.println("accept key = "+ik);
DetachedCriteria dc = DetachedCriteria.forClass(ScmUser.class);
dc.add(Expression.like("userCode", ik));
userList = rightService.findByDetachedCriteria(dc);JSONArray array = new JSONArray();
try{
for (ScmUser it: userList) {
JSONObject json = new JSONObject();
json.put("userCode",it.getUserCode());
array.put(json);
}
}catch(Exception e){
e.printStackTrace();
}try{
PrintWriter out = response.getWriter();
out.print(array);
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
[{"userCode":"loty"}{"userCode":"landy"}]实际上我想要的结果是:loty
landy请问各位大虾应该怎样写?希望能给出完整的代码,谢谢!以下为本人写的代码:
js:
<script type="text/javascript">
$().ready(function() {
$("#search").autocomplete(
"<%=basePath%>/right/Right!searchUser.action", //连接到action
{
max: 10,
scroll: false,
width: 162
}
);
}RightAction.java
public void searchUser(){String inputKey = request.getParameter("q");
String ik = inputKey+"%";
System.out.println("accept key = "+ik);
DetachedCriteria dc = DetachedCriteria.forClass(ScmUser.class);
dc.add(Expression.like("userCode", ik));
userList = rightService.findByDetachedCriteria(dc);JSONArray array = new JSONArray();
try{
for (ScmUser it: userList) {
JSONObject json = new JSONObject();
json.put("userCode",it.getUserCode());
array.put(json);
}
}catch(Exception e){
e.printStackTrace();
}try{
PrintWriter out = response.getWriter();
out.print(array);
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
解决方案 »
- filter的问题?求指教
- tomcat问题,怎么执行“进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下”
- 高手请指教:怎样提取A.html文件的<body></body>间的内容,并放在B.html文件中的<td></td> 之间?
- 很基础的东西!
- 那位知道eclipse3.1在使用hibernate的create hibernate mapping的具体步骤
- 看一下这个是什么原因造成的
- 各位前辈,来看看这个网页采集??
- 关于<base href="<%=basePath%>">的问题
- 调用Ie的打印功能,怎么才能设定分页功能。
- jsp问题之三
- 请教了,SSL双向认证???
- C++中有没有一种可以存储大量int类型数据的数据结构?
或者是个数组
你的即不是JSON又不是数组 他认为是一个字符串
此处可以省略。因为autocomplete直接输出json.你无需再生成一个userCode的Key。直接out.print(array.toString());结果就会显示出来。
JSONObject jsonObject = new JSONObject();
jsonObject.put("data", jsonArray);
out.print(jsonObject.toString());
前台在这里autocomplete解析json数据分别设置