Rails(3.2.9)的自动完成工作类似于jQuery的组合框



我的表单上有一个正在工作的自动完成字段,但是我需要强制用户从列表中选择一个值(使用自动完成,用户不限于列表中的一个项目-它是一个文本字段,他们可以输入任何他们想要的)。jQuery组合框添加了我需要的额外功能。谁能帮我添加额外的功能到我的表单-有教程或例子,我可以遵循?

这是我到目前为止所做的(它正在工作-谢谢你Ryan Bates)

view - new.html.erb

 <%= f.input :widget_name, input_html: { data: { autocomplete_widget_source: widgets_list_path } } %>
控制器

def list
  @widgets = Widget.order(:name).where("name like ?", "%#{params[:term]}%")
  render json: @widgets.map(&:name)
end
JQuery

jQuery ->
  $('#model_widget_name').autocomplete
  source: $('#model_widget_name').data('autocomplete-widget-source')

我尝试使用简单的collection_select,但由于选择列表的大小,文档太大(10,000项)。

<%=  collection_select :model, :widget_id, Widget.all, :id, :name, selected: @model.widget_id  -->

我想我终于找到了我一直在寻找的答案。

我添加了以下

jQuery ->
  $('#model_widget_name').bind 'autocompletechange', (event, ui) ->
    if (!ui.item)
      $(this).val(''); 

这有意义吗?我还需要更多吗?

感谢以下人员:

  • mechanical fish on stackoverflow
  • Mark Berry在MCB系统

相关内容

  • 没有找到相关文章

最新更新