0

我正在玩rails3-jquery-autocomplete gem,它对我很有效。这是一个示例,我的自动完成输入看起来如何:

= f.autocomplete_field :interest, autocomplete_interest_users_path, :"data-delimiter" => ','

因为很多时候我需要在输入中写入很多单词,这就是为什么使用textarea而不是 default input更好,但是该怎么做呢?有任何想法吗?

先感谢您。

4

2 回答 2

1

也许像http://rightjs.org/ui/tags/demo这样的东西?在http://st-on-it.blogspot.com/2011/04/making-tags-with-rails-and-rightjs.html上有一篇关于使用 Rails 进行这项工作的文章。

于 2012-05-14T03:00:37.297 回答
0

这是我用 jQuery 做的:

将此添加为助手:

module ActionView
  module Helpers
    module FormHelper

      def autocomplete_text_area(object_name, method, source, options ={})
        options["data-autocomplete"] = source
        text_area(object_name, method, rewrite_autocomplete_option(options))
      end
    end
  end

  class ActionView::Helpers::FormBuilder
    def autocomplete_text_area(method, source, options = {})
      @template.autocomplete_text_area(@object_name, method, source, objectify_options(options))
    end
  end
end

这就是在 Rails 中扩展表单助手的方式。我们在这里所做的是添加我们自己的方法,我们可以在我们的视图中调用它。

现在,将此添加到您的 javascript 文件之一:

 $('textarea[data-autocomplete]').railsAutocomplete()

这设置了自动完成 js 脚本来监听和响应我们的文本区域。

你现在应该能够在你的视图中做这样的事情:

f.autocomplete_text_area :name, autocomplete_menu_item_name_menus_path, placeholder: "Menu Item Name", class: 'input-lg menu_item', size: "45x2"
于 2014-05-03T15:42:58.180 回答