自动完成文本框,其中 xml 源不起作用
本文关键字:其中 xml 不起作用 文本 | 更新日期: 2023-09-27 18:33:15
>我有一个返回字符串列表的Web服务。我正在尝试将其作为我的自动建议文本框的数据源提供。这是我的网络服务返回的内容
<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>
这是我与Ajax的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
我无法弄清楚我做错了什么,请提供任何帮助......
好的想通了,你的成功回调应该是这样的:
success: function (xmlResponse) {
response($("string", xmlResponse).map(function () {
return {
value: $(this).text()
};
}));
},
因为在这里你得到的响应包含字符串数组中的字符串的xml节点您的选择器映射内部响应应该是这样的
$("string", xmlResponse)
希望有帮助!!