我想插入一个特定的字符,说每次在另一个文本框中按下一个键时的字母“H”。每个按键插入一个字符到一个隐藏的文本输入
例如,
文本框1:输入您的姓名
文本框2:HHHHHHHHHHHHHH
我已经试过
$('#cartText16132').keyup(function() {
$('input#test').val('1');
});
但是,只有一个插入 “1”
希望是有道理的。
我想插入一个特定的字符,说每次在另一个文本框中按下一个键时的字母“H”。每个按键插入一个字符到一个隐藏的文本输入
例如,
文本框1:输入您的姓名
文本框2:HHHHHHHHHHHHHH
我已经试过
$('#cartText16132').keyup(function() {
$('input#test').val('1');
});
但是,只有一个插入 “1”
希望是有道理的。
下面的代码应该做你想要什么:
$("#cartText16132").keyup(function() {
$("#test").val(this.value.replace(/./g, "H"));
});
DEMO:http://jsfiddle.net/JhpHL/
没有正则表达式另一种解决方案:
$("#cartText16132").keyup(function() {
$("#test").val(Array(this.value.length + 1).join("H"));
});
$('#cartText16132').keyup(function(e) {
$('input#test').val('H');
});
试着做这样的:
$('#cartText16132').keyup(function() {
var input = $('input#test');
input.val(input.val() + "H");
});
的问题是,您每次更换价值,你不追加它。所以你用1代替'1',结果为'1'而不是'11'。
尝试使用'backspace',或'alt'或'ctrl',任何非符号密钥。 – VisioN
这就是他要求的权利?不要与其他文本框中的文本具有相同的长度,但每次在另一个文本框中按下某个键时添加一个H. –
您正在用每个键盘覆盖该值。您需要追加:
$('input#test')。val($('input#test')。val()+'1');
http://jsfiddle.net/gcwG2/ – anderssonola