0

我想用三个数字填写一个字段。我的掩码配置如下:['009', '099', '999']。我希望允许像“001”、“011”或“111”这样的值。但是当我输入像“023”这样的值并给出焦点时,再次尝试编辑这个值,输入“234”,掩码不允许。我相信我的第一个“0”与掩码的“9”匹配,因此我无法编辑。

有什么办法可以让编辑或者补0,直到完成三个字符?

4

1 回答 1

1

配置字段时只需使用onBeforeWrite选项。此选项允许在写入字段之前预处理数据。

假设您有一个名为 hello 的文本字段。

<input type="text" name="hello" id="hello">

要在字段上填充前导零,请将缓冲区参数的掩码值替换为零。

$("#hello").inputmask({
    mask: "999",
    numericInput: true,
    onBeforeWrite: function (event, buffer, caretPos, opts) {
        if (event !== undefined && event.type === "blur") {
            for (var i=0; i<buffer.length; i++) {
                if (buffer[i] == "_")
                    buffer[i] = '0';
            };
        }
    }
});
于 2015-11-11T11:45:57.553 回答