通过作曲家包含时如何在 AdminLTE 中使用 jQuery 的输入掩码

Posted

技术标签:

【中文标题】通过作曲家包含时如何在 AdminLTE 中使用 jQuery 的输入掩码【英文标题】:How to use jQuery's inputmask in AdminLTE when included via composer 【发布时间】:2018-03-16 21:46:35 【问题描述】:

短版

如何使用继承自 avanzu/AdminThemeBundle 基础的 twiginputmask

上下文

我在 symfony3 项目中使用 AdminLTE 管理面板模板 (https://adminlte.io/)。

为此,我使用了 Avanzu 项目 (https://github.com/avanzu/AdminThemeBundle),它有两个主要优势:

我可以通过 composer 安装它。 我有预制的树枝块,我可以在树枝上覆盖它们,以便重复使用。

问题是我需要一个<input> 以用欧元表示金额。我想使用inputmask,您可以在此处在 AdminLte 中看到它:https://adminlte.io/themes/AdminLTE/pages/forms/advanced.html

当我放置此代码时...

<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>

...我唯一能看到的是输入框,但里面没有掩码。似乎 HTML 工作,但 JS 没有。

(PD:代码是电话而不是欧元,因为我开始复制示例以稍后对其进行编辑。)

先决条件

我已经运行了php bin/console avanzu:admin:fetch-vendor 命令和php bin/console assets:install --symlink 这里提到的https://github.com/avanzu/AdminThemeBundle

我还有资产包并预加载到内核中。

更多上下文

在我的页面中,我看到主模板包含所有 LTE javascript

<script src="/hello-trip/dislodge-galvanize/web/bundles/avanzuadmintheme/static/dev/scripts/admin-lte-all.js"></script>

此外,如果我探索 admin-lte-all.js,它就在那里,搜索 inputmask 会发现它在缩小版中:

但是,在页面中,我仍然可以看到:

在演示站点中,我可以看到:

知道发生了什么,或者我是否应该做点别的事情。

问题

我应该在我的树枝中编写什么代码才能使&lt;input class="form-control" data-inputmask="'mask': ['999-999-9999 [x99999]', '+099 99 99 9999[9]-9999']" data-mask="" type="text"&gt; 输入起作用?

【问题讨论】:

assets:install之后你有没有尝试cache:clear --env=prod 【参考方案1】:

在你的 js 中添加这一行

 $('[data-mask]').inputmask()

【讨论】:

以上是关于通过作曲家包含时如何在 AdminLTE 中使用 jQuery 的输入掩码的主要内容,如果未能解决你的问题,请参考以下文章

如何在开发多个包时处理多个作曲家自动加载器

管理作曲家和部署

Nuxtjs toastr 和数据表插件在 adminLTE - 3 模板中不起作用

如何在没有作曲家的情况下包含 phpspreadsheet 库?

当我单击 AdminLTE 3.0 中的子菜单时,如何折叠导航树视图?

如何通过流明中的作曲家安装照明/邮件