【问题标题】:jQuery Inputmask - decimal value negative or positive with mask in input elementjQuery Inputmask - 输入元素中带有掩码的十进制负数或正数
【发布时间】:2017-04-07 07:40:17
【问题描述】:

我正在尝试向输入元素添加一个输入掩码,它允许用户输入 -90 到 90 之间的小数,小数分隔符后有 0 到 4 个数字(旁注:我正在使用 jQuery validate for min &最大值验证)。

我能够使用此代码使其适用于正值:

$("#id").inputmask("99,9{0,4}");

我尝试使用以下代码对其进行扩展以允许负值:

$.mask.definitions['~']='[+-]';
$("#id").inputmask("~99,9{0,4}");

这不起作用;该值始终以“-”开头,不能用“+”替换或删除。

我最后一次尝试是这样的:

$('#id').inputmask('decimal', { 
        radixPoint: ".", 
        integerDigits: 2,
        digits: 4,
        digitsOptional: true,
        autoGroup: true,
        allowPlus: true,
        allowMinus: true
    });

这几乎可以,但我有以下问题:

  • 输入元素不包含可见掩码(类似于 __.____)
  • 用户必须输入“-”或“+”号作为第一个字符,不能在输入的开头添加减号。

我的目标是有一个带有可见掩码的输入元素,最好采用以下格式__.____,它允许用户输入负值或正值。用户应该能够在输入的开头添加一个减号(在他输入数字之后(和之前))。

编辑:添加小提琴 JSFiddle

【问题讨论】:

  • #1 使用占位符属性
  • #1 显示占位符,几乎正确……您的意思是在输入中添加占位符属性。顺便提一句。我添加了一个小提琴来显示问题。

标签: javascript jquery validation jquery-inputmask


【解决方案1】:
$("input.percentage").inputmask({
    alias: "percentage",
    digits: "2",
    rightAlign: false,
    suffix: "%",
    integerDigits: 5,
    digitsOptional: true,
    allowPlus: true,
    allowMinus: true,
    placeholder: "0",
    min: -1000,
    max: 1000,
    numericInput: true
  });

我使用 max 和 min 来允许输入带有两个小数点的负数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    相关资源
    最近更新 更多