我是Jquery的新手,所以我可能会遗漏一些明显的东西......
我正在使用JQuery的1.8自动完成小部件进行搜索搜索。用户输入3个字符后触发该功能。因此,下面的函数中的“term”表示街道名称中的字符。
但是,用户已经输入了他们的邮政编码和门牌号,我希望这些值也能传递给查询。我也如何发送这些价值?我只能弄清楚如何发送单个“术语”。
(如果重要,我正在使用ASP.Net MVC3)
$("#SearchStreet").autocomplete({
source: function (request, response) {
$.ajax({
url: "/VoterAndPollingPlaceLookup/PollingPlaceSearch/FindStreet",
dataType: "json",
data: {
term: request.term
},
success: function (data) {
response($.map(data, function (item) {
return {
value: item
}
}));
}
});
},
minLength: 3,
delay: 0
});
编辑:在帮助之后,以下是我的新代码,工作得很好!
我做了以下更新: 我正在调用的控制器操作:
Public Function FindStreet(term As String, searchZip As String, searchHouse As String) As JsonResult
.....returns results
End Function
以下是更新的Jquery。
$("#SearchStreet").autocomplete({
source: function (request, response) {
$.ajax({
url: "/OnlineVoterRegistration/ApplicationDetails/FindStreet",
dataType: "json",
data: { term: request.term,
searchZip: $("#SearchZip").val(),
searchHouse: $("#SearchHouse").val() }
success: function (data) {
response($.map(data, function (item) {
return {
value: item
}
}));
}
});
},
minLength: 3,
delay: 0
});
答案 0 :(得分:1)
ajax请求的data
参数接受JSON对象,因此您所要做的就是将其他属性添加到该对象。像这样:
$("#SearchStreet").autocomplete({
source: function (request, response) {
$.ajax({
url: "/VoterAndPollingPlaceLookup/PollingPlaceSearch/FindStreet",
dataType: "json",
data: {
term: request.term,
zipCode: 'zip code',
houseNumber: 'house number'
},
success: function (data) {
response($.map(data, function (item) {
return {
value: item
}
}));
}
});
},
minLength: 3,
delay: 0
});
在您的控制器操作中,您必须添加参数zipCode
和houseNumber
。