gpt4 book ai didi

javascript - 动态应用 JQuery 掩码

转载 作者:行者123 更新时间:2023-11-28 19:47:27 25 4
gpt4 key购买 nike

我有一个文本字段,当用户键入第一个字符时,我必须应用两个掩码之一。

规则是:

  1. 如果用户输入“#”,则要应用的掩码为“#9999999999”。
  2. 如果用户输入数字,则要应用的掩码为“999.999.999-99”。

我生成的 JavaScript 是

(function () {
var oldVal;
$('#id').on('keypress paste textInput input', function () {
var val = this.value;
if ((val != oldVal) && (val.length == 1)) {
oldVal = val;
if(oldVal == '#'){
$('#id').mask('999999999');
$('#id').val(oldVal)
}else{
$('#id').mask('999.999.999-99');
$('#id').val(oldVal)
}
}else if(val.length == 0) {
$('#id').unmask();
}
});
}());

幸运的是,面具戴得正确。问题是第一个字符丢失了。

示例:

  1. 当我输入 012.345.678-99 时,字段会显示 _12.345.678-99
  2. 同样,当我输入 #2001120001 时,字段会显示 _2001120001

我做错了什么?

谢谢!

最佳答案

我不确定这是否是您正在寻找的内容,但是...

该插件尝试在每次按键时应用掩码。稍微改变掩码(以及翻译,因为“#”被认为是数字占位符)可以让插件处理整个输入行并对其进行掩码。

if (oldVal == '#') {
$('#id').mask('#999999999', {"translation": {"#": null}});
$('#id').val(oldVal);
} else {
$('#id').mask('999.999.999-99');
$('#id').val(oldVal);
}

它在这个 fiddle 中起作用。 http://jsfiddle.net/FfR8j/2/

同样,不确定这是否是您要找的。

关于javascript - 动态应用 JQuery 掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24024397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com