【发布时间】:2011-11-30 14:09:30
【问题描述】:
这是我的自动完成的 JSON 数据
{ "list" : [ {
"genericIndicatorId" : 100,
"isActive" : false,
"maxValue" : null,
"minValue" : null,
"modificationDate" : 1283904000000,
"monotone" : 1,
"name":"Abbau",
"old_name" : "abbau_change_delete_imac",
"position" : 2,
"systemGraphics" : "000000",
"unitId" : 1,
"valueType" : 1,
"description" : "Abbau",
"weight" : 1
}]}
我写的代码是
$("#<portlet:namespace />giName").autocomplete({
source :`enter code here` function( request, response ) {
$.post(
"<%=AJAXgetGIs%>",
{
"<%=Constants.INDICATOR_NAME%>" : request.term,
"<%=Constants.SERVICE_ID%>" : <%=serviceId%>
},
function( data ) {
response( $.map( data.list, function( item ) {
//alert(item.name + " || " + item.genericIndicatorId);
item.value = item.name;
return item;
}));
},
"json"
);
},
minLength : 2
我正在使用 jquery-ui-1.8.14.autocomplete.min.js 插件进行自动完成 我遇到的问题是它没有在新浏览器中显示所有匹配的结果。 例如,如果我输入 "an" 其中应该与 "anzahl" 关键字匹配,则火灾错误会显示错误,例如 "bad control character literal in a字符串”。结果显示字母“as,sa....”。任何帮助都会得到帮助 谢谢
【问题讨论】:
-
如果它适用于其他组合“as”和“sa”,我建议仔细查看您的 JSON 响应与“an”相比的差异。您可以通过按 Ctrl + Shift + I 并选择“网络”选项卡在 Chrome 中查看响应。然后当您的代码运行脚本时,您可以看到响应。
-
@Luke Coulton 它也像其他人一样给出响应号:200,但未在下拉列表中显示结果。
-
检查每个响应返回的实际“json”。 Chrome 开发者工具的网络区域中有一个“json”标签。
-
带有您发布的数据的自动完成小部件。也许它与您键入特定字符(如“as”和“sa”)时返回的数据有关。
-
它适用于哪些浏览器,哪些浏览器不适合您?
标签: php javascript jquery json jquery-ui-autocomplete