我一直在寻找一种将自动完成功能添加到formtastic表单的方法,并遇到了crowdint / rails3-jquery-autocomplete,但我还无法使最新版本(0.9.1)与formtastic一起工作(这是一个已知问题),并且在以前的版本中,id-element helper不起作用,因此在提交表单时无法在隐藏字段中设置选项值。另一款名为formtastic_autocomplete by elandesign的产品也过时了。所以我想知道是否有其他方法可以用来获得一个(jquery-ui?)格式形式的自动完成字段。我的模型是这样的,产品属于一个品牌,并且一个品牌有许多产品(在产品表中有一个brand_id列),所以目前我有,这意味着自动为关联创建一个选项选择
谢谢,亚历克斯
发布于 2011-09-15 05:59:37
如果你不使用一个试图变得聪明并为你做所有事情的gem,那么你使用formtastic的事实是无关紧要的。由formastic生成的HTML与使用常规表单助手生成的HTML没有什么不同。
您可以轻松地使用jquery ui自动完成插件。
发布于 2011-09-22 15:55:16
刚刚修复了rails3-jquery-autocomplete上的格式问题。使用1.0.2版
当您说id-element不工作时,您是指与Formtastic结合使用吗?
当我将它与常规输入一起使用时,它似乎工作得很好。
发布于 2012-10-06 04:32:26
我已经为这个问题写了一个简单的纯jQuery解决方案( belongs_to关联的自动补全)。关于Formtastic,你不需要做任何特殊的事情。只需为您的外键生成一个普通输入字段,并添加一个指定自动完成URL的属性和另一个指定所引用模型的当前显示值(在本例中为现有产品的品牌名称)的属性。使用HAML模板表示法(ERB基本相同):
= semantic_form_for @product do |f|
= f.inputs do
-# Other input fields ...
= f.input :brand_id,
:input_html => {:'data-autocomplete-url' => auto_complete_brands_path,
:'data-autocomplete-value' => @product.brand.try(:name)}
:javascript
$(function() {
$('#product_brand_id').autocompleteAssociation();
});这使用了我专门为这种模型关联情况编写的jQuery autocomplete小部件。可以在这里找到它,以及更多文档:https://gist.github.com/3842296
https://stackoverflow.com/questions/7423224
复制相似问题