自动完成文本框与xml源不起作用
问题描述:
我有一个Web服务,返回一个字符串列表。 我想提供作为我的自动suggesttextbox数据源。 这里是我的web服务返回自动完成文本框与xml源不起作用
<ArrayOfString>
<string>Air Pollutants</string>
<string>Air Facilities</string>
<string>Air Emissions</string>
<string>Air Pollution</string>
<string>Air Quality Monitoring</string>
<string>Air Piracy</string>
</ArrayOfString>
这是我的jQuery阿贾克斯。
$(document).ready(function() {
$('#<%=txt_search_extantdata.ClientID%>').autocomplete({
source: function (request, response) {
$.ajax({ type: 'POST',
url: "/_layouts/Extantlibrarywebservice/getdata.asmx/GetSearchData",
data: { 'src': $("#<%=txt_search_extantdata.ClientID%>").val() },
dataType: "xml",
success: function (xmlResponse) {
response($(xmlResponse).map(function() {
return { value: $(this).text() };
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 2
});
});
什么,我流汗输出目前是这样 一个与所有字符串单项连接
Air PollutantsAir FacilitiesAir EmissionsAir Pollution Air Quality MonitoringAir Piracy
我想显示出放什么东西是在一个线串
Air Pollutants
AirFacilities
Air Emissions
Air Pollution
Air Quality Monitoring
Air Piracy
我无法弄清楚我在做什么错误的任何帮助,请...
答
OK想通了,你的成功回调应该是这样的:
success: function (xmlResponse) {
response($("string", xmlResponse).map(function() {
return {
value: $(this).text()
};
}));
},
因为在这里你得到响应包含字符串的XML节点内ArrayofStrings 您选择到内响应映射应该是这样的
$("string", xmlResponse)
希望帮助!!
+0
非常感谢,它做到了这一点 – user388969 2014-12-07 16:25:50
你看过http://jqueryui.com/autocomplete/#xml和http://jqueryui.com/resources/demos/autocomplete/xml.html – 2014-12-06 06:05:27
检查你的web服务返回xml或不在网络面板中萤火虫/镀铬控制台/ ie devtools – 2014-12-06 06:07:42
它返回xml上面的结构是从响应中复制 – user388969 2014-12-06 12:26:02