计算表单中的嵌套字段集

时间:2012-07-13 21:20:01

标签: javascript jquery ruby-on-rails nested-forms

有没有办法在Rails中计算已添加到表单的嵌套字段的数量?

我目前有一个允许用户添加或删除嵌套属性的表单。

Railscast http://railscasts.com/episodes/196-nested-model-form-revised的代码基本上与我的要求(不同的控制器和型号名称)略有不同。

我希望能够做的是计算当前在表单中的嵌套属性集的数量。有没有办法在Rails中这样做或者我会更好地使用jQuery?

我需要能够访问视图中的值。

任何帮助非常感谢。如果您需要查看代码,请告诉我。

jQuery ->
  $('form').on 'click', '.remove_fields', (event) ->
    count--
    $(this).prev('input[type=hidden]').val('1')
    $(this).closest('.panel').hide()
    $('#price').text(count)
    event.preventDefault()

  $('form').on 'click', '.add_fields', (event) ->
    count++
    $('#price').text(count)
    time = new Date().getTime()
    regexp = new RegExp($(this).data('id'), 'g')
    $(this).before($(this).data('fields').replace(regexp, time))
    event.preventDefault()

在视图中,我将count变量设置为1,以进行测试。我认为这需要在页面加载之前设置,因为它可能最后加载了javascript,因此没有显示初始计数?

1 个答案:

答案 0 :(得分:0)

如果你有一个要显示计数变量的元素,比如<div id="count"></div>,你可以在计数更新后立即在点击功能中写$('#count').html(count)

更新: 对于初始计数(在用户单击添加/删除按钮之前),在erb页面模板中包含计数

<div id="count"><%= @initial_count %></div>