您可以通过这种方式呈现自动完成数据。将categoryid添加为数据属性,然后选择时,将具有一个具有data-
tag的标签,然后可以检索.data(’id’)= Category ID。希望能帮助到你。
$("#Category").autocomplete({ delay: 100, autoFocus: true, selectFirst: true, source: 'ProviderSuggest.jsp', select: function (event, ui) { $('#autosuggest').val('Y'); }}).data('autocomplete')._renderItem = function(ul, item) { return $("<li>").data("item.autocomplete", item).append("<a data-id='"+item.CategoryID+"'>" + item.Category + "</a>").appendTo(ul);};而且您的Java应该是这样的:目的是要创建一个数组,该数组的id为id,另一个key为value(2个key)
[{CategoryID :"110",Category:"MRI SCAN"},{CategoryID :"101",Category:"CTSCAN"]}<%@page import="java.util.Hashtable"%><%@page import="java.util.Map"%><%@page import="java.util.HashMap"%><%@page import="com.google.gson.Gson"%><%@page import="java.util.ArrayList"%><%@page import="java.util.Iterator"%><%@page import="Functions.DBConnections"%><%@page import="java.util.List"%><% String query = request.getParameter("term"); List<String> CategoryList = new DBConnections().GetCategoryList(query); Iterator CatIterator = CategoryList.iterator(); String JCategory = ""; Map CategoryMap; Gson gson = new Gson(); List autoComplete = new ArrayList(); while (CatIterator.hasNext()) { String Category = (String) CatIterator.next(); String CategoryID = (String) CatIterator.next(); CategoryMap = new HashMap<String,String>(); CategoryMap.put("Category", Category); CategoryMap.put("CategoryID", CategoryID); //JCategory = gson.toJson(CategoryMap); autoComplete.add(CategoryMap); } JCategory = gson.toJson(autoComplete); System.out.println(JCategory); //out.print(JCountry); out.print(JCategory);%>


