javascript - 计算表单中嵌套字段集的数量

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

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

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

代码与Railscast http://railscasts.com/episodes/196-nested-model-form-revised基本相同只是根据我的要求略有改变(不同的 Controller 和型号名称)。

我想要做的是计算当前表单中的嵌套属性集的数量。有没有办法在 Rails 中做到这一点,或者我使用 jQuery 会更好吗?

我需要能够访问 View 中的值。

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

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()

在 View 中,出于测试目的,我已将计数变量设置为 1。我认为这需要在页面加载之前设置,因为它可能最后加载 JavaScript,因此不显示初始计数?

最佳答案

如果您想在某个元素中显示计数变量,请说 <div id="count"></div> ,你可以写$('#count').html(count)在计数更新后立即点击函数。

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

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

关于javascript - 计算表单中嵌套字段集的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478545/

相关文章:

javascript - 从网站向 Chrome 扩展程序发送消息

javascript - AngularJS ng-repeat 具有多个显示不同值的列表

ruby-on-rails - 如何将命名范围应用于轮胎搜索结果?

ruby-on-rails - Active Record/Rails 3.2/PostgreSQL 数据库中连接模型属性的数据类型

javascript - 如何相应地更改事件菜单项中的图像

ruby-on-rails - rails : Resetting form fields with page refresh

javascript - 原子异步/等待调用 - 如果第二次失败是否有可能不首先执行?

javascript - 如何循环滚动事件

javascript - 在 Domino Designer 中将 jQuery 作为 iNotes 表单中的文件包含并引用

javascript - 解析和迭代具有多个 header 的 JSON