0

我正在使用 auto_complete 插件:

https://github.com/crowdint/rails3-jquery-autocomplete

我已经按照说明安装了 gem 并在清单文件中添加了 require 行:

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require autocomplete-rails
//= require prototype
//= require prototype_ujs

完成此操作后,萤火虫给了我这个错误消息:

$("input[data-autocomplete]") is null

并且错误被跟踪到 autocomplete-rails.js 中的这一行:

$(document).ready(function(){$("input[data-autocomplete]").railsAutocomplete()})...

我正在使用:

Rails 3.1.0
Ruby 1.9.2

有没有人有同样的经历?我刚刚安装并需要 gem,甚至没有开始对控制器/视图进行更改。

任何帮助,将不胜感激!

4

2 回答 2

1

autocomplete-rails.js 将在文档准备好后搜索具有“data-autocomplete”属性的元素。

由于您没有在视图页面中添加自动完成字段,因此它显示为空。
您可以通过两种方式添加具有自动完成功能的自动字段。

1.使用form_for

form_for @product do |f|
  f.autocomplete_field :brand_name, autocomplete_brand_name_products_path
end  

这将生成一个html

<input type="text" data-autocomplete="products/autocomplete_brand_name">

2.使用form_tag

form_tag 'some/path'
  autocomplete_field_tag 'address', '', address_autocomplete_path, :size => 75
end

您没有做错任何事情。您正在开发中。当您按照 gem 中的描述在视图页面中添加自动完成文件时,此问题将得到解决。

干杯:)

于 2011-10-07T12:22:49.313 回答
0

不要将 Prototype 库与 Jquery 同时使用。不幸的是,这是我能想出的唯一解决方案。我尝试了 noConflict 语句并以不同的顺序加载库。我现在接受这个答案,因为没有其他解决方案。

于 2011-10-27T08:30:40.370 回答