我目前正致力于使用jQuery进行前置。如果用户在文本字段中输入2位数字,则在文本字段中,当他在外部点击时,它会自动在文本前添加0
- 例如,如果用户键入12
并且他将注意力集中在值应为012
使用当前代码,我正在检查他输入的信件数量,但我很困惑如何提供此追加或连接。
使用此代码,我将使用jquery validator
验证文本字段 txt_CC:{
required: true,
number:true,
maxlength:3
},
这是我的jquery代码
$('#txt_CC').on('change',function(e){
if($('#txt_CC').val().length > 2){
$('.cc_field').val() + '0';
}else{
alert("Sorry not eligble");
}
});
这是我的输入字段。
<input type="text" class="cc_field" placeholder="Country Code"
id="txt_CC" maxlength="3" name="txt_CC" />
答案 0 :(得分:1)
尝试将val函数中的值作为setter放回
$('#txt_CC').on('change',function(e){
var len = $('#txt_CC').val().length;
if(len == 1){
$('.cc_field').val( '00' + $('.cc_field').val());
}else if(len == 2){
$('.cc_field').val('0'+ $('.cc_field').val() );
}else if(len == 3){
//do something ?
}else{
alert("Sorry not eligble");
}
});
答案 1 :(得分:1)
你可以试试这个:
$('#txt_CC').on('change',function(e){
alert($('#txt_CC').val().length);
if($('#txt_CC').val().length <= 2){
$('.cc_field').val('0' + $('.cc_field').val());
}
else{
alert("Sorry not eligble");
}
});
答案 2 :(得分:1)
以下是如何操作:
this.value = '0' + this.value;
在输入的值前加零。
以下是如何操作的演示:
$('#txt_CC').on('change',function(e){
if( this.value.length <= 2 ){
this.value = '0' + this.value;
} else {
alert("Sorry not eligble");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="cc_field" placeholder="Country Code" id="txt_CC" maxlength="3" name="txt_CC" />
&#13;
答案 3 :(得分:1)
为什么要使用JQuery,当你可以在简单的JS中处理它时
纯JS解决方案
function pad(number) {
if (number.length == 2) {
number = ("0" + number);
} else if (number.length == 1) {
number = ("00" + number);
}
document.getElementById('txt_CC').value = number;
}
<input type="text" class="cc_field" placeholder="Country Code" id="txt_CC" maxlength="3" name="txt_CC" onchange='pad(this.value)' />