1

我一直在尝试让 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”

这个字符串似乎是自动完成正在寻找的默认命名。

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

4

2 回答 2

0

您的呼叫$.map不正确。您没有向 提供回调函数$.map,这可能是导致问题的原因。

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

$(document).ready(function () {
    $("#tags").autocomplete({
        source: '/Home/GetCompanyNames'
    });
});
于 2012-09-29T14:57:26.923 回答
0

可能你需要这个:

$("#tags").autocomplete({
  source: function(request, response) {
    $.ajax({
      url: "url",
      data: request,
      dataType: "json",
      method: "post",
      success: response
    }
  }
});
于 2012-09-29T11:21:47.633 回答