jQuery 金钱输入掩码在 rails 项目中不起作用
jQuery money input mask not working in rails project
我正在使用 jquery-inputmask-rails gem. Ultimately: it is pulling in Robin Herbots' inputmask jQuery plugin。
按照 jquery-inputmask-rails
gem 中的说明,我将其放入 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});
});
就用法而言:您应该能够将适当的掩码 class 添加到输入中:
<%= f.text_field :some_field, class: "mask_money" %>
我遇到的问题是 mask_phone
掩码有效,但 mask_money
根本不起作用。
我在日志中注意到它是这样说的:
TypeError: null is not an object (evaluating 'e.mask.toString')
奇怪的是,在另一个项目中:我没有使用jquery-inputmask-rail gem,而是在Vendor中引入了jQuery输入掩码代码目录直接,它的工作。
我错过了什么?
我的直觉告诉我 jquery-inputmask-rails gem 不是在查看 Robin Herbots 的输入掩码插件的更新版本。
- 我删除了 gem
- 我把jQuery.inputmask.bundle.js放在了
vender
文件夹里。
- 在
application.js
中,我放置了 //= require jquery.inputmask.bundle.js
并删除了与 gem. 关联的 require 语句
然后我所有的输入掩码都起作用了。
就我而言,我忘记了 execute/call
initializeMasks();
所以不要忘记将此作为 script
块添加到视图或 app/views/model/submodel/action.js.erb
文件中,而不是直接在视图
中使用 <scrip>
在那之后,我能够定义并看到我的 input
字段使用与此类似的东西工作得很好
<%= f.input :ein, input_html: { data: { mask: '00-0000000' } } %>
如您所见,我的掩码并不复杂,只有两位数字,然后是破折号,然后是其他 7 位数字,但我希望这对您有所帮助!
我正在使用 jquery-inputmask-rails gem. Ultimately: it is pulling in Robin Herbots' inputmask jQuery plugin。
按照 jquery-inputmask-rails
gem 中的说明,我将其放入 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});
});
就用法而言:您应该能够将适当的掩码 class 添加到输入中:
<%= f.text_field :some_field, class: "mask_money" %>
我遇到的问题是 mask_phone
掩码有效,但 mask_money
根本不起作用。
我在日志中注意到它是这样说的:
TypeError: null is not an object (evaluating 'e.mask.toString')
奇怪的是,在另一个项目中:我没有使用jquery-inputmask-rail gem,而是在Vendor中引入了jQuery输入掩码代码目录直接,它的工作。
我错过了什么?
我的直觉告诉我 jquery-inputmask-rails gem 不是在查看 Robin Herbots 的输入掩码插件的更新版本。
- 我删除了 gem
- 我把jQuery.inputmask.bundle.js放在了
vender
文件夹里。 - 在
application.js
中,我放置了//= require jquery.inputmask.bundle.js
并删除了与 gem. 关联的 require 语句
然后我所有的输入掩码都起作用了。
就我而言,我忘记了 execute/call
initializeMasks();
所以不要忘记将此作为 script
块添加到视图或 app/views/model/submodel/action.js.erb
文件中,而不是直接在视图
<scrip>
在那之后,我能够定义并看到我的 input
字段使用与此类似的东西工作得很好
<%= f.input :ein, input_html: { data: { mask: '00-0000000' } } %>
如您所见,我的掩码并不复杂,只有两位数字,然后是破折号,然后是其他 7 位数字,但我希望这对您有所帮助!