我想在输入上使用https://igorescobar.github.io/jQuery-Mask-Plugin/,所以我可以定义掩码,因此在输入的开头总是有两个零。插件以某种方式将0识别为其他内容...
例如,我想在输入的开头输入00,因此用户可以添加手机的其余部分“ 00 49 355-559”,并且掩码为“ 0000-000-000”。希望有两个2的掩码,因为“ 2200-000-000”将始终在开头处加上22。那么如何在开始时设置零?
我已经尝试过使用jquery这样的方法,但到目前为止,它仅适用于粘贴事件,因为我不希望值最初存在于此,只有当用户开始在输入中键入或粘贴值时才可以。
$('#myInput').mask("0000-000-000");
$('#myInput').on("paste", function () {
$(this).val("000-0");
});
答案 0 :(得分:0)
使用可用的选项,例如 onKeyPress , onChange
$(document).ready(function() {
var options = {
onComplete: function(cep, event, currentField) {
console.log('OK CEP Completed!:' + cep);
var prefix = "00";
var val = cep;
if (val.indexOf(prefix) !== 0) {
event.target.value = prefix + val;
}
},
onKeyPress: function(cep, event, currentField, options) {
console.log('OK A key was pressed!:', cep, ' event: ', event,
'currentField: ', currentField, ' options: ', options);
var prefix = "00";
var val = event.target.value;
if (val.indexOf(prefix) !== 0) {
event.target.value = prefix + val;
}
},
onChange: function(cep, event) {
console.log('OK cep changed! ', cep);
var prefix = "00"
if (cep.indexOf(prefix) !== 0) {
event.target.value = prefix + cep;
}
},
onInvalid: function(val, e, f, invalid, options) {
var error = invalid[0];
console.log("Digit: ", error.v, " is invalid for the position: ", error.p, ". We expect something like: ", error.e);
}
};
$('#text').mask('0000-000-000', options);
});