我需要执行以下操作,但目前还不知道如何操作:
我有一个<input type="text">
我需要在用户输入第一个字符后立即添加 "-" ,并将光标放在长度上的下一个位置(第三个位置),以便用户可以继续输入
例如:
“G- <--- 用 jQuery 添加这个“-”符号,并将光标设置在其后面。
谢谢
编辑
这是我当前的代码。
$('#document').keypress(function(e){
if(this.value.length == 1){
$(this).val($(this).val() + '-');
}
});
它在用户键入后添加“-”符号。
我希望在用户键入第一个字符后,将“-”字符添加到字符串中。到目前为止,如果我输入“H”,我会得到“-H”,并且我想要“H-”。
最佳答案
试试这个: 您还需要检查键是否是退格键。如果是退格键,那么您应该跳过此事件。
现场演示:http://jsfiddle.net/5Y9mG/32/
$( document ).ready(function() {
$("#my-input").keypress(function(e){
if(e.keyCode != 8){ //check for backspace press
var text = this.value;
if(text.length ==1){
this.value=text+'-';
}
}
});
});
更新:
如果用户输入“-”并且输入字段有多个“-”字符,那么在删除该“-”之前,不允许用户输入其他字符
http://jsfiddle.net/5Y9mG/42/
$( document ).ready(function() {
$("#my-input").keypress(function(e){
if(e.keyCode != 8 && e.keyCode !=46) {
var text = this.value;
if(text.split("-").length > 2){ // check for double -
alert("already exixts");
return false;
}
if(text.length ==1){
this.value=text+'-';
}
}
});
});
关于javascript - 添加新字符并设置输入位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166316/