繁体   English   中英

jQuery的自动完成不显示结果

[英]jquery autocomplete not showing result

当我输入未显示的结果时,我尝试使用id类别的jquery过滤器使自动完成,如下图所示:

结果自动完成

当我点击标签网络时,我得到了如下图所示的数据: json数据

这是我的代码javascript:

<script type="text/javascript">
$(function() {
  $(".keyword").autocomplete({
    source: function(request, response) {
      $.ajax({
          url: "search/autocomplete",
          type: "GET",
          dataType: "json",
          data: {'id':1},
          success: function(data) {
              response($.map(data, function(item) {
                return {
                  label: item.name,
                  value: item.id
              };
              }));
          }
      });
    },
    select:function(event,ui) {
      $(".keyword").val(ui.item.label);
      return false;
    },
    minLength: 2,
  }).bind('focus', function () {
    $('.ui-autocomplete').css('z-index','9999').css('overflow-y','scroll').css('max-height','300px');
    // $('.ui-autocomplete').css('background','#09121a').css('color','#fff');
    // $('.ui-menu .ui-menu-item-wrapper').css('padding','11px 1em 3px 1.4em !important');
    // $(this).autocomplete("search");
    // var btncategory = $('.btn-category').width();
    // var left = '-'+btncategory+'px';
  });
});
</script>

如果输入“ a”-我什么也看不到,但是当我删除“ a”时-我会看到全部三个。 因此,看起来jQuery不知道它应该在object.name中查找值。

正如Tan Duong所说,您的回复仅包含名为value的属性。 它找不到nameid ,因此您的结果显示空白数据。

将您的成功功能更改为此:

success: function(data) {
          response($.map(data, function(item) {
            return {
              label: item.value,
              value: item.value
          };
          }));
      }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM