带有jquery掩码的Rails cocoon gem问题:每次创建新条目

时间:2013-02-12 22:24:21

标签: ruby-on-rails maskedinput cocoon-gem

我正在使用Cocoon 1.1.1为Person模型嵌套手机字段。我想为电话号码设置一个输入掩码,所以我在javascript文件夹下加了jquery.maskedinput-1.3.min.js

当我应用掩码时,提交给Rails的参数缺少id的手机属性:

 "phones_attributes"=>{"0"=>{"number"=>"214-648-4417", "label"=>"Work", "_destroy"=>"", "id"=>''}}}

每次都会创建新条目。此时,我没有添加新的电话号码,只需点击更新。

这是我的咖啡脚本:

jQuery.fn.addPhoneMasks = ->
  $('input[id*="phone"]').each ->
    $(this).mask("999-999-9999?")

jQuery ->
  $('div#phones').addPhoneMasks()

(注意:我需要使用插入回调将掩码应用于新插入的手机字段,但我还没有:) :)

1 个答案:

答案 0 :(得分:0)

我发现了我的错误:掩码不应该使用id*="phone",因为jquery插件会为cocoon的隐藏字段添加值。

我的解决方案是为手机上课,然后使用它来进行选择。