javascript - 表单显示,同时将 acts-as-taggable-on gem 与 jquery tag-it 插件集成

标签 javascript ruby-on-rails tag-it acts-as-taggable

嗯,我能够成功存储用户定义的标签,同时通过acts_as_taggable gem 注册他们的个人资料。问题在于显示和更新它们。 为了显示目的,我使用了 jquery tag-it 插件。

现在,gem 将所有标签作为单个字符串(之间有空格)提供给表单,而插件则要求将它们放在有序列表中,以便所有标签都可以单独显示。

我的查看代码:

如果我使用 <%= f.text_field :intersted_list, class: 'form-control', id: 'intersted' %> ,检索到的所有标签都显示为单个标签。

如果我使用:

<ul id="intersted"> <% resource.intersted_list.each do |tag| %> <li><%= tag %></li> <% end %> </ul>

所有标签均单独显示。但是,我无法添加或更新它们,因为它们不再是表单的一部分。

Javascript代码:

$("#intersted").tagit();

所有的指针将不胜感激.. 提前致谢..

最佳答案

我怀疑您的代码还存在其他问题,因为我相信您的代码应该可以工作。

Tag-it 有几种不同的方法可以构建小部件。您可以在 HTML 源代码 https://aehlke.github.io/tag-it/examples.html 中看到其中的一堆内容。 。请注意,不幸的是,该页面需要通过非 HTTPS 链接使用 jQuery,因此您可能必须禁用浏览器的保护功能,以防止在 HTTPS 页面上包含 HTTP 资源。

使用单个输入的最快方法是将字段的值设为逗号分隔的列表,例如 <input name="tags" id="singleFieldTags2" value="Apple, Orange">然后只需启动小部件,无需任何选项:$('#singleFieldTags2').tagit();这是示例页面上的“单一输入字段 (2)”选项。如果使用此选项无法正确显示标签,则听起来您的 ERB 没有生成正确的 HTML(尽管看起来应该如此)。您可能想要确认,一方面您可以使用静态 HTML 让 Tag-it 在您的页面上正常工作,另一方面您可以使用 Ruby/ERB 生成带有逗号分隔关键字的正确文本字段(无需 Tag-it) )另一方面。

你的第二种方法也应该有效,尽管你必须确保它包含在 <form> 中元素; Tag-it 将生成 <input>适合您,但它们需要采用表格形式才能提交。

关于javascript - 表单显示,同时将 acts-as-taggable-on gem 与 jquery tag-it 插件集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44860456/

相关文章:

java - 如何使用 javascript 或 java 使用打印命令打印 JSP 页面中包含的表格?

ruby-on-rails - rails/ruby 合并两个具有相同键、不同值的散列

jquery - jQuery UI 插件 Tag-it 中每个标签允许的最大字符数

javascript - react-native-svg-charts 动画不起作用

javascript - 以这种方式覆盖 React 状态数组好吗?

javascript - 如何使 Material-UI Table 保持动态高度的可滚动性?

sql - 从 Active Record Relation 中移除对象而不删除它

ruby-on-rails - 让 Gmaps4Rails 与 MongoMapper 一起工作

java - 通过 ui :repeat in JSF 内的 jQuery UI 小部件访问附加值

javascript - 我正在尝试动态添加多个 tagit 字段,但它对我不起作用