Jquery 如何在MVC中使用ajax自动完成下拉列表

Jquery 如何在MVC中使用ajax自动完成下拉列表,jquery,ajax,json,asp.net-mvc-3,Jquery,Ajax,Json,Asp.net Mvc 3,当有人在输入字段中键入邮政编码时,我尝试自动完成下拉列表,但我还无法填充下拉列表,这就是我的位置: JQuery <script type="text/javascript" language="javascript"> //<![CDATA[ // have we had at least 3 characters typed in? var searchTextTrigger = false; $(document).ready(f

当有人在输入字段中键入邮政编码时,我尝试自动完成下拉列表,但我还无法填充下拉列表,这就是我的位置:

JQuery

<script type="text/javascript" language="javascript">
        //<![CDATA[
    // have we had at least 3 characters typed in?
    var searchTextTrigger = false;

    $(document).ready(function () {
        $('#postcodeSearch').focus();
    });

    // 0m0_uk
    $(function () {
        var content = $('#postcodeSearch').val();
        $('#postcodeSearch').keyup(function () {
            // have we had at least 3 characters in our text box
            if ($('#postcodeSearch').val().length >= 3) {
                // yes, so after this point even if we have less it will still send the request
                searchTextTrigger = true;
            }
            if ($('#postcodeSearch').val() != content && searchTextTrigger == true) {
                content = $('#postcodeSearch').val();
                var searchText = $('#postcodeSearch').val();
                alert(searchText);
                $.ajax({
                    url: "/Stores/AutocompleteSuggestions/" + etaleEncode(searchText),
                    success: function (data) {
                        $("#ajaxPostCodeList").html("");
                        for (var i = 0; i < data.length; i++) {
                            var item = data[i];
                            $('#ajaxPostCodeList').append($("<option></option>").val(item.Code).html);
                        }


                    },
                    error: function () {
                        alert("an error occured");
                    }
                });
            }
        });

    });
        //]]>
</script>
因此,搜索文本将ok传递到控制器中,但我不确定如何用这些值填充下拉列表


非常感谢任何帮助

看看这个答案,它显示了如何填充下拉列表:

查看您的代码,尝试以下操作:

$("#ajaxPostCodeList").append($("<option />").val(item.Code).text(item.Name));

具有适当的值

我需要更改控制器,使其具有公共的JsonResult和JsonRequestBehavior.AllowGet);谢谢
  success: function (data) {
                        $("#ajaxPostCodeList").html("");
                        for (var i = 0; i < data.length; i++) {
                            var item = data[i];
                            $('#ajaxPostCodeList').append($("<option></option>").val(item.Code).html);
                        }


                    },
 [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult AutocompleteSuggestions(string searchText)
        {
            var sTerm = searchText;
            if (!String.IsNullOrEmpty(searchText))
            {
                sTerm = Decode(searchText);
            }


            var suggestions = _postcodeRepository.GetAutoCompleteSearchSuggestion(sTerm);

            return Json(suggestions.ToList());
        }
$("#ajaxPostCodeList").append($("<option />").val(item.Code).text(item.Name));
    var item = data[i];