Jquery自动填充建议未显示在文本框下

时间:2012-09-29 11:03:57

标签: asp.net-mvc jquery-ui jquery-autocomplete

我一直试图让jquery-ui自动完成工作的一个简单例子。我有一个控制器设置来处理查询,它返回看起来有序的字符串,但我没有得到任何建议。

以下是我在该页面上包含的库

<link href="/Content/css/jquery-ui-1.8.12.custom.css" rel="stylesheet" type="text/css" />
<link href="/Content/css/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />
<link href="/Content/css/Stylesheet.css" rel="stylesheet" type="text/css" />
<link href="/Content/css/coupon1.css" rel="stylesheet" type="text/css" />
<link href="/Content/Slider/slidder.css" rel="stylesheet" type="text/css" />  

<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.23.custom.min.js" type="text/javascript"></script>
<script src="/Scripts/el7r_notify.min.jq.js" type="text/javascript"></script>
<script src="/Scripts/ZeroClipboard.js" type="text/javascript"></script>
<script src="/Scripts/jquery.spellcheck.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery.fancybox-1.3.4.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="/Content/Slider/jquery.jcarousel.min.js" type="text/javascript"></script>
<script src="/Content/Slider/jquery-func.js" type="text/javascript"></script>
<script src="/Scripts/Coupon.js" type="text/javascript"></script>

这里是javascript和表单标签:

 $(document).ready(function () {
        $("#tags").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: '/Home/GetCompanyNames',
                    success: function (msg) {
                        response($.map(msg));
                    }

                });
            }
        });
    });



    <div class="ui-widget"> 
  <label for="tags">tags: </label> 
   <input id="tags" /> 
</div> 

我从我的控制器那里得到一个看起来合理的字符串响应:

“LTJRKK, KTOYQQ, GDADKT, PVFOQT, PVFOQT, YNKYVS, YNKYVS, DQBOVU, DQBOVU “

此字符串似乎是autocomplete正在寻找的默认命名。

但我一点都不高兴。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

可能你需要这个:

$("#tags").autocomplete({
  source: function(request, response) {
    $.ajax({
      url: "url",
      data: request,
      dataType: "json",
      method: "post",
      success: response
    }
  }
});

答案 1 :(得分:0)

您对$.map的来电不正确。您没有向$.map提供回调函数,这可能会导致问题。

在这种情况下,您根本不需要使用$.map,因为您的操作会以正确的格式返回数据。以下应该可以正常工作:

$(document).ready(function () {
    $("#tags").autocomplete({
        source: '/Home/GetCompanyNames'
    });
});