在输入掩码货币中更改货币符号或将其删除
Posted
技术标签:
【中文标题】在输入掩码货币中更改货币符号或将其删除【英文标题】: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" />
【问题讨论】:
【参考方案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
语法? false
和 true
是不是太常见了?我觉得它不必要的烦人。
@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;">
【讨论】:
以上是关于在输入掩码货币中更改货币符号或将其删除的主要内容,如果未能解决你的问题,请参考以下文章