jquery.autocomplete怎么没有获取到jsp传回的数据?
时间: 2012-01-04来源:开源中国
前景提要
HDC调试需求开发(15万预算),能者速来!>>>
用jquery的插件jquery.autocomplete实现自动完成功能
medicineQuery.jsp页面代码(其中qpyName是输入文本框的id) <script type="text/javascript"> $(document).ready(function() { $("#qpyName").autocomplete("medicineQueryData.jsp", { minChars: 1, scroll: true, width: 310, matchContains: true, autoFill: false, formatItem: function(row, i, max) { return i + "/" + max + ": \"" + row.name + "\" [" + row.pyName + "]"; }, formatMatch: function(row, i, max) { return row.name + " " + row.pyName; }, formatResult: function(row) { return row.pyName; } }); }); </script>
medicineQueryData.jsp代码 <%@page import="com.ahcmis.util.Java2Json"%> <% Java2Json.getJsonText(); %>
Java2Json代码(用jackson进行解析生成json数据) public class Java2Json { public static String getJsonText() throws JsonGenerationException, JsonMappingException, IOException, SQLException { ObjectMapper mapper = new ObjectMapper(); List<Medicine> list = new ArrayList<Medicine>(); Connection con = DBUtil().getConnection(); try { String sql = "SELECT name,pyName FROM t_medicine "; Statement s = con.createStatement(); ResultSet rs = s.executeQuery(sql); if (rs != null && rs.next()) { do { Medicine theBean = new Medicine(); theBean.setName(rs.getString(1)); theBean.setPyName(rs.getString(2)); list.add(theBean); } while (rs.next()); } rs.close(); s.close(); } catch (Exception e) { e.printStackTrace(); }finally{ con.close(); } Writer strWriter = new StringWriter(); mapper.writeValue(strWriter, list); String medicineJSON = strWriter.toString(); System.out.println(medicineJSON); return medicineJSON; } }
其中medicine代码为 public class Medicine { private String name; // 中药名称 private String pyName; // 中药拼音 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPyName() { return pyName; } public void setPyName(String pyName) { this.pyName = pyName; } @Override public String toString() { return "Medicine [name=" + name + ", pyName=" + pyName + "]"; } }
运行时发现System.out.println(medicineJSON);已经打印出如下信息
[{"name":"当归","pyName":"danggui"},
{"name":"贯众","pyName":"guanzhong"},
{"name":"黄芪","pyName":"huangqi"}
,{"name":"独活","pyName":"duhuo"},
{"name":"丹参","pyName":"danshen"}]
但为什么输入文本框下没有自动完成数据呢?麻烦各位大侠看一下,谢谢!




科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行