如果我有一个像这样的输入字段:
<input id="inputBox" type="text">
例如,用户输入'abc',如何立即将其更改为'123'? 我想在用户输入'abc'后立即发生这种情况。
我该怎么做?
答案 0 :(得分:3)
希望这会对您有所帮助,使用keyup事件获取输入值
$("#inputBox").on("keyup", function(){
if($(this).val() == "abc")
$(this).val("123");
})
答案 1 :(得分:1)
你可以这样做:
HTML:
<input id="inputBox" type="text">
JS / jQuery的:
$(document).on('keydown', '#inputBox', function(){
$(this).val("Your new value");
return false;
});
https://jsfiddle.net/j0ug8y3e/
有一个&#39;变化&#39;关于jQuery的事件,但只有当输入失去它的焦点时才会调用它,因此使用keydown,keypressed或keyup会更好。
答案 2 :(得分:0)
$( "#inputBox" ).keyup(function() {
if($(this).val() == "abc") {
$(this).val("123");
}
});
答案 3 :(得分:0)
这是完整的解决方案,它会在您输入时将每个字母转换为其数值:
const input = $('#inputBox');
input.keyup(event => {
input.val(processContents(input.val()));
});
function processContents(value) {
let contents = value.split('');
contents.forEach((char, index) => {
var charPos = char.toLowerCase().charCodeAt(0);
console.log(charPos);
if (charPos >= 97 && charPos <= 122) {
contents[index] = charPos - 96;
}
});
return contents.join('');
}