使用 jQuery ruby gem 设置输入屏蔽

Setting up Input Masking with jQuery ruby gem

我一直在尝试在我的网站上为 phone 数字字段实施输入屏蔽。由于某些(可能是愚蠢的)原因,我无法使用 jQuery 插件将我的代码设置为 link。我下载了 Ruby gem 并执行了所有步骤,但我的浏览器显示变量未定义。我怀疑我没有正确设置 gem。

Github link

The main website for the functionality

我已经将 gem 安装到我的 gem 文件和 运行 包中

我已将通话纳入我的 application.js

然后尝试在我的代码中实现它

我知道它需要文件:jquery.mask.min.js但不能link它与我的项目

如果 Ruby 在 Rails 上有任何更简单的方法来实现此功能,我很乐意使用它!

PS:经过长时间的休息后,我要重新开始编码,所以我在做这样简单的事情时遇到了麻烦!

<div class="form-group col-md-6">
<label>Phone</label>

<%= f.text_field :phone, class: 'control phone_us', maxlength: 20 %>

</div>
<script type="text/javascript">
  $(document).ready(function(){
    ('.phone_us').mask('(000) 000-0000');
  })
</script> 
Uncaught TypeError: ".phone_us".mask is not a function

    at HTMLDocument.<anonymous> (<anonymous>:3:19)
    at mightThrow (jquery3.self-e200ee796ef24add7054280d843a80de75392557bb4248241e870fac0914c0c1.js?body=1:3558)
    at process (jquery3.self-e200ee796ef24add7054280d843a80de75392557bb4248241e870fac0914c0c1.js?body=1:3626)

您好像在 ('.phone_us') 前面少了一个 $。喜欢:

$('.phone_us').mask('(000) 000-0000');

此外,如果您使用的是 turbolinks,您可能需要监听 turbolinks:load 事件,例如:

$(document).on "turbolinks:load", ->
  alert "page has loaded!"

5.2 Page Change Events 下的文档所述。