未捕获的TypeError:使用rails4-autocomplete时,this.source不是函数

时间:2015-12-28 07:17:23

标签: jquery ruby-on-rails jquery-ui autocomplete

我目前正在尝试在搜索字段上设置自动填充功能。我正在使用 rails4-autocomplete gem 。我在这里阅读了文档:https://github.com/peterwillcn/rails4-autocomplete并按照所有步骤使其运行,并且确实有效。我开始在搜索框中输入,我得到了我期望的结果。

我的下一步是实施一键搜索功能。当我点击其中一个自动填充建议时,我希望该网站转到该项目的相应页面。我在http://www.yoniweisbrod.com/autocomplete-magic-with-rails/

上使用了此页面上名为自动完成魔术与Rails 的建议

基本上,您添加一个事件挂钩,在选择项目时提交搜索按钮。

$( document ).ready(function() {
  $('.search-query').bind('railsAutocomplete.select', function(event, data {
    $('.search-me').trigger('click')
  });
});

当我实现它时,这种方式有效,就像有时当我点击我想要的项目进入页面时,有时候它不会去任何地方。它只是用项目信息填充文本框但不提交。在这些实例中,我得到一个jQuery错误,内容如下:

 Uncaught TypeError: this.source is not a function - autocomplete.self-3befc48aba87cead090cfd014562b2771a662ac6d2c8197b24c08b2d9f3d9f2d.js?body=1:440 

刷新页面可以解决问题,这让我觉得我的javascript没有以正确的顺序加载。所以我实现了jQuery Turbolinks gem,以确保我的jQuery事件总是在没有页面刷新的情况下加载。这没有用。

出于提供信息的目的,我的jQuery看起来如下:

$( "#username" ).autocomplete({ html: true });

将html选项设置为true允许我在搜索结果中呈现html。

我一直在谷歌搜索,但到目前为止没有运气。任何想法,任何人?谢谢!

1 个答案:

答案 0 :(得分:0)

我相信你没有将来源添加到autocomplete

var data = ['one', 'two'];
$("#your-id").autocomplete({
  data
});