2017-07-07 63 views
0

我正在使用jquery-inputmask-rails寶石。最終:它正在拉羅賓Herbots'inputmask jQuery pluginjQuery錢輸入掩碼不能在rails項目中工作

正如jquery-inputmask-rails寶石指示,我把這個application.js

//= require jquery.inputmask 
//= require jquery.inputmask.extensions 
//= require jquery.inputmask.numeric.extensions 

這裏是我的兩個口罩:

$(document).on('turbolinks:load', function() { 
    $('.mask_phone').inputmask({mask: "(999) 999-9999"}); 
    $('.mask_money').inputmask({alias: 'currency', rightAlign: true, placeholder: "", prefix: '', autoGroup: false, digitsOptional: true}); 
}); 

至於使用雲:你應該能夠公正添加相應的掩蔽類到輸入:

<%= f.text_field :some_field, class: "mask_money" %> 

問題我是哈ving是mask_phone面具的作品,但mask_money根本不起作用。

我在日誌中看到它這樣說:

TypeError: null is not an object (evaluating 'e.mask.toString')

奇怪的是,在另一個項目:我沒有使用jQuery的輸入掩碼軌寶石,但在jQuery的輸入掩碼,而不是帶來直接將代碼直接寫入Vendor目錄,並且工作正常。

我錯過了什麼?

+0

定位正確的類? '$('。mask_amount_in_cents')' –

+0

對不起,我會糾正它。 – Neil

+0

在這句話中「我遇到的問題是mask_phone掩碼有效,但mask_amount_in_cents完全不起作用。」應該「mask_amount_in_cents」也是「mask_money」? –

回答

0

我的直覺告訴我,jquery-inputmask-rails gem並沒有查看Robin Herbots的輸入掩碼插件的更新版本。

  • 我刪除了寶石
  • 我把jQuery.inputmask.bundle.js在vender文件夾中。
  • application.js我把//= require jquery.inputmask.bundle.js刪除了與寶石相關的require語句。

然後我所有的輸入掩碼都起作用了。