【问题标题】:Change the currency symbol or remove it in the inputmask currency在输入掩码货币中更改货币符号或将其删除
【发布时间】:2016-05-02 17:30:26
【问题描述】:

我正在使用Robin Herbot's inputmask jquery plugin,我想将默认货币符号(默认为美元货币符号)更改为 PESO 货币符号或删除货币符号。

下面是我尝试过的,是的,符号改变了,符号被删除了,但它不会让我输入任何东西。

$(document).ready(function(){
  
  $("#currency1").inputmask({ alias : "currency", mask : "0.00" });
  $("#currency2").inputmask({ alias : "currency", mask : "₱ 0.00" });

  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.6/jquery.inputmask.bundle.min.js"></script>

<label>REMOVE CURRENCY SYMBOL</label><br>
<input type="text" id="currency1" /><br>
<label>CHANGE THE CURRENCY SYMBOL</label><br>
<input type="text" id="currency2" />

【问题讨论】:

    标签: javascript jquery input-mask jquery-inputmask


    【解决方案1】:

    您可以使用prefix 选项更改符号。下面是一个 sn-p,我以两种不同的方式执行此操作,修改货币别名和定义我自己的别名。

    在您的版本中,您无法输入任何内容,因为 mask 属性用于限制输入并将其设置为 0.00 仅允许输入这四个字符,而没有其他任何内容。 9.99 的掩码将允许一个数字后跟一个句点和两个数字。 9 有一个特殊的屏蔽定义,允许任何数字。

    Inputmask.extendAliases({
      pesos: {
                prefix: "₱ ",
                groupSeparator: ".",
                alias: "numeric",
                placeholder: "0",
                autoGroup: true,
                digits: 2,
                digitsOptional: false,
                clearMaskOnLostFocus: false
            }
    });
    
    $(document).ready(function(){
      
      $("#currency1").inputmask({ alias : "currency", prefix: '' });
      $("#currency2").inputmask({ alias : "currency", prefix: '₱ ' });
      $("#currency3").inputmask({ alias : "pesos" });
    
      
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.6/jquery.inputmask.bundle.min.js"></script>
    
    <label>REMOVE CURRENCY SYMBOL</label><br>
    <input type="text" id="currency1" /><br>
    
    <label>CHANGE THE CURRENCY SYMBOL</label><br>
    <input type="text" id="currency2" /><br>
    
    <label>CHANGE THE CURRENCY SYMBOL, using an alias</label><br>
    <input type="text" id="currency3" />

    【讨论】:

    • 为什么要使用!0!1 语法? falsetrue 是不是太常见了?我觉得它不必要的烦人。
    • @PeterVARGA 我完全不知道。也许我从某个地方复制粘贴了代码并且没有注意到这一点。谁知道呢,我几乎不记得我昨天做了什么,更不用说五年前了。编辑:我做了一些谷歌搜索,看起来在其他一些输入掩码示例中也使用了这种糟糕的语法,所以我猜是复制粘贴。
    • 谢谢你,没有冒犯我的朋友。 :-)
    【解决方案2】:

    使用 data-inputmask 属性的解决方案

    $(document).ready(function(){
      $("input").inputmask();
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.6/jquery.inputmask.bundle.min.js"></script>
    
    <label>REMOVE CURRENCY SYMBOL</label><br>
    <input type="text" id="currency1" data-inputmask="'alias': 'decimal', 'groupSeparator': ',', 'autoGroup': true, 'digits': 2, 'digitsOptional': false, 'placeholder': '0'" style="text-align: right;"><br>
    <label>CHANGE THE CURRENCY SYMBOL</label><br>
    <input type="text" id="currency2" data-inputmask="'alias': 'decimal', 'groupSeparator': ',', 'autoGroup': true, 'digits': 2, 'digitsOptional': false, 'prefix': '₱ ', 'placeholder': '0'" style="text-align: right;">

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 2015-09-02
      • 1970-01-01
      • 2012-09-04
      • 2014-12-07
      • 1970-01-01
      • 2014-08-28
      • 2019-02-23
      相关资源
      最近更新 更多