0
我跟随Ryan Bates情节嵌套的表单域,并添加了第2部分末尾建议的jQuery的位。一切正常(我能够添加字段并删除字段)。我现在想限制你可以在窗体中添加的字段的数量。在我的application.js我有
如何限制嵌套的表单域使用jquery不工作
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).parent().before(content.replace(regexp, new_id));
}
瑞安贝茨撰写。阅读另一篇文章中我改变了线到现在阅读:
function add_fields(link, association, content) {
if($(".fields input").length < 5) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).parent().before(content.replace(regexp, new_id));
}
}
然而,这是不行的,我在这里做得不对。谢谢您的帮助。
*编辑
这是形式
<%= form_for @question, :url => { :controller => "questions", :action => "create" } do |f| %>
<%= f.label(:name, "Request Question:") %>
<%= f.text_field(:name, :size => 72, :maxlength => 120, :id => "name") %><br />
<fieldset>
<legend><b>Tags</b></legend>
<%= f.fields_for :tags, :url => { :controller => "tags", :action => "create" } do |builder| %>
<%= render "tag_fields", :f => builder %>
<% end %>
<p><%= link_to_add_fields "Add new keyword", f, :tags %></p>
</fieldset>
<% end %>
标记字段局部
<p class="fields">
<%= f.label(:keyword, "Keywords:") %>
<%= f.text_field(:keyword, :size => 20, :maxlength => 25, :id => "keyword") %>
<%= link_to_remove_fields "remove", f %>
</p>
谢谢。解决完美,但是一个小问题,当我将长度设置为5,然后单击以添加字段时,它将我限制为3个字段?任何想法? – Hishalv
在你的容器中是否有其他2种类型的输入?如果是这样,我们可以优化您的选择器以排除它们也许如果你向我展示一些你的标记,我们可以进一步帮助你。 – f0x
请参阅上面的编辑,再次感谢您的帮助。 – Hishalv