简短版本
如何使用inputmask
来自twig
继承自avanzu/AdminThemeBundle
基地?
上下文
我在 symfony3 项目中使用 AdminLTE 管理面板模板 ( https://adminlte.io/ )。
为此,我使用 Avanzu 项目 ( https://github.com/avanzu/AdminThemeBundle ),它给我带来了两个主要优势:
- 我可以通过 Composer 安装它。
- 我有预制的 Twig block ,我可以将其覆盖在我的 Twig 上,以实现可重复使用。
问题是我需要一个 <input>
以欧元表示金额的形式。我想使用inputmask
您可以在 AdminLte 中看到它的运行情况:https://adminlte.io/themes/AdminLTE/pages/forms/advanced.html
当我放置此代码时,Buen...
<div class="form-group">
<label>Intl US phone mask:</label>
<div class="input-group">
<div class="input-group-addon">
<i class="fa fa-phone"></i>
</div>
<input class="form-control" data-inputmask="'mask': ['999-999-9999 [x99999]', '+099 99 99 9999[9]-9999']" data-mask="" type="text">
</div>
<!-- /.input group -->
</div>
...我唯一能看到的是输入框,但里面没有 mask 。看起来 HTML 可以工作,但 JS 不行。
(PD:代码是电话而不是欧元,因为我开始复制示例以供稍后编辑。)
先决条件
我已经运行了 php bin/console avanzu:admin:fetch-vendor
命令和 php bin/console assets:install --symlink
两者都在这里提到https://github.com/avanzu/AdminThemeBundle
我还准备好了 assetic 包并预加载到内核中。
更多上下文
在我的页面中,我看到主模板包含所有 LTE javascript:
<script src="/hello-trip/dislodge-galvanize/web/bundles/avanzuadmintheme/static/dev/scripts/admin-lte-all.js"></script>
如果我探索admin-lte-all.js
它就在那里,正在寻找 inputmask
显示它存在于缩小版本中:
但是,在页面中,我仍然可以看到:
在演示站点中,我可以看到:
不知道发生了什么事,或者我是否应该做点别的事情。
问题
我应该在我的 Twig 中编写什么代码来制作 <input class="form-control" data-inputmask="'mask': ['999-999-9999 [x99999]', '+099 99 99 9999[9]-9999']" data-mask="" type="text">
工作投入?
最佳答案
在你的js中添加这一行
$('[data-mask]').inputmask()
关于symfony - 当通过 Composer 包含时如何在 AdminLTE 中使用 jQuery 的输入掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582821/