Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 使用来自Twitter Bootstrap的Typeahead形式(formtastic)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从bootstrap集成一个typeahead,如下所示:
<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="8" data-source='["University of Pennsylvania","Harvard","Yale","PrinCETon","Cornell","Brown","columbia","Dartmouth"]'>

成为这样的标准形式:

<%= semantic_form_for(@education) do |f| %>
 <%= render 'shared/error_messages',object: f.object %>
<div class="field">
 <%= f.input :college,placeholder: "update Education" %>
</div>
<%= f.submit "Submit",class: "btn btn-large btn-priMary" %>
<% end %>

解决方法

你的控制器中
def index
  @autocomplete_items = Model.all
end

在您的视图中,就像您拥有选择器的附加ID一样……

<% semantic_form_for(@education) do |f| %>
  <%= render 'shared/error_messages',object: f.object %>
  <div class="field">
    <%= f.input :college,placeholder: "update Education",id: "auto_complete" %>
  </div>
  <%= f.submit "Submit",class: "btn btn-large btn-priMary" %>
<% end %>

最重要的是,将控制器中定义的@autocomplete_items实例变量传递到视图中的Javascript变量:

<%= javascript_tag "var autocomplete_items = #{ @autocomplete_items.to_json };" %>

这将序列化您的数据并使其可用于Typeahead函数的JSON.

对于Typeahead,只需将该对象(@autocomplete_items)作为JSON传递给Javascript,如下所示:

<script type="text/javascript">
    jQuery(document).ready(function() {
        $('#auto_complete').typeahead({source: autocomplete_items});
    });
</script>

另外还有一Autocomplete gem for Rails 3,它可以直接与您的模型一起使用,而不是将对象传递给您的Javascript.文档中甚至还有一个Formtastic示例.

编辑:看起来我没有看完你的整个问题!不幸的是,目前不支持Formtastic的HTML5数据属性.然而,有一个separate branch确实包括对这些属性的支持.

除此之外,总是只是坚持使用Good ol’HTML / ERB来实现这样的动态功能……

<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="8" data-source='<%= @autocomplete_items.to_json %>'>

编辑2:我刚注意到两件事.首先是我将JSON对象传递给Javascript变量的方式(参见示例).其次,上面使用HTML5数据属性的示例不适用于Twitter的Typeahead插件,但它可以与jQuery UI Autocomplete插件一起使用.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 使用来自Twitter Bootstrap的Typeahead形式(formtastic)全部内容,希望文章能够帮你解决ruby-on-rails – 使用来自Twitter Bootstrap的Typeahead形式(formtastic)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。