2
我有一個使用jquery自動填充功能來彈出的文本框。我的自動完成結果的來源是通過XML文件中的ASP.NET Web服務收集的。該XML文件有這樣的基本結構:使用自動完成功能填充多個文本框
<RAIL_INTERSECTIONS>
<RAIL_INT RR="BNSF" RR_DIV="FED" RR_SUBDIV="MAIN" ADDRESS="6700" STREET="LINCOLN" BRANCH="ALVIN" MILE_POST="146" />
...
</RAIL_INTERSECTIONS>
自動完成拉STREET從文件屬性和填充我的文本框中。
另外,我的表單上還有兩個其他文本框,我想根據自動完成文本框中的值選擇自動填充。這些值也包含在XML文件中 - RR和RR_DIV,如上所示。現在,我只需使用以下代碼來調用我的web服務併爲街道獲取單個值。
$(function() {
$(".tb").autocomplete({
source: function (request, response) {
$.ajax({
url: "rail_intersection_info.asmx/GetCrossingLocations",
data: "{ 'location': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 2
});
});
我的縮寫Web服務看起來是這樣的:
List<string> streets = new List<string>();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(Server.MapPath(XmlCrossingFile));
XmlNodeList xmlNodeList = xmlDocument.GetElementsByTagName("RAIL_INT");
for (int i = 0; i < xmlNodeList.Count; i++)
{
streets.Add(xmlNodeList[i].Attributes["STREET"].Value);
}
var data = streets.Where(m => m.ToLower().StartsWith(location.ToLower()));
return data.ToList();
我的問題是,我如何從我的web服務和自動popluate基礎上,選定值其他文本框返回多個值第一個文本框?