我在页面中有一个文本框。 <input type="text" id="cell">
我在jquery下面使用....
i = 0;
$(document).ready(function () {
$("#cell").keypress(function () {
i += 1;
if (i == 4) {
var cellValue = $("#cell").val() + "-";
$("#cell").val(cellValue);
}
});
});
只要用户输入12345678
(或任何数字),它就会自动显示123-45678
。但问题是当用户使用退格键或删除然后开始键入12345678
时,它不会显示123-45678
。请帮忙
答案 0 :(得分:2)
i
应该是值的长度,而不是按下键的次数
试试这个 -
$("#cell").keypress(function () {
i = $(this).val().length;
if (i == 3) {
var cellValue = $("#cell").val() + "-";
$("#cell").val(cellValue);
}
});
答案 1 :(得分:0)
尝试
$(document).ready(function(){
$("#cell").keypress(function(){
if (this.value.length == 3) {
$("#cell").val(this.value + "-");
}
});
});
演示:Fiddle
答案 2 :(得分:0)
我会将输入分成两部分,因为如果他们想要删除第三个数字,用户必须删除短划线。
$(document).ready(function() {
$('#cell_1').on('input', function(e) {
if($(this).val().length == 3) {
$('#cell_2').focus();
}
});
$('#cell_2').keyup(function(e) {
if(e.which == 8 && $(this).val().length == 0) {
$('#cell_1').focus();
}
});
});