用jQuery替换输入文本

时间:2018-03-15 18:49:44

标签: javascript jquery html

如果我有一个像这样的输入字段:

<input id="inputBox" type="text">

例如,用户输入'abc',如何立即将其更改为'123'? 我想在用户输入'abc'后立即发生这种情况。

我该怎么做?

4 个答案:

答案 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('');
}
相关问题