即使将decimalPlaces设置为0

时间:2019-01-29 12:44:49

标签: javascript jquery asp.net-mvc autonumber

我需要允许输入文本框为整数,但确实需要货币符号和逗号。我使用了最新版本的自动数字js。

我已经将decimalPlaces属性设置为0,但仍然允许我按一下该点,并在进一步按键时将其删除。如果将decimalPlace属性设置为0,我希望不首先按下该点。

下面的

是snnipet和JS小提琴链接。寻找有关此的任何帮助

AutoNumeric.multiple('.testInput', 
{ currencySymbol: '$', decimalPlaces: 0, unformatOnSubmit: true, modifyValueOnWheel: false });

http://jsfiddle.net/wpomn0d2/

1 个答案:

答案 0 :(得分:0)

您可以使用decimalPlaces函数并指定getPredefinedOptions()属性来获得integer.decimalPlaces值:

var places = AutoNumeric.getPredefinedOptions().integer.decimalPlaces;

然后使用其值防止在keydown事件上插入非数字符号:

$('.testInput').keydown(function (e) {
    var places = AutoNumeric.getPredefinedOptions().integer.decimalPlaces;

    if (places == 0 && (e.which < 48 || e.which > 57))
    {
        // prevent symbol insertion
        return false;
    }

    // other stuff
});

JSFiddle example

参考:AutoNumeric static methods