JQuery Autocomplete 1.8中的其他搜索词

时间:2011-10-11 15:30:36

标签: jquery jquery-ui jquery-ui-autocomplete

我是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
    });

1 个答案:

答案 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 
    });

在您的控制器操作中,您必须添加参数zipCodehouseNumber