JavaScript/jQuery – Add a character at the end of an input field
input, javascript, jquery
Solution
$("#id").keyup(function(){
if ($(this).val().split('').pop() !== '?') {
$(this).val($(this).val() + "?");
}
});
DEMO
EDIT:
(function($) {
$.fn.setCursorPosition = function(pos) {
if ($(this).get(0).setSelectionRange) {
$(this).get(0).setSelectionRange(pos, pos);
} else if ($(this).get(0).createTextRange) {
var range = $(this).get(0).createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
}(jQuery));
$("#id").keyup(function(){
if ($(this).val().split('').pop() !== '?') {
$(this).val($(this).val() + "?");
$(this).setCursorPosition( $(this).val().length - 1)
}
});
new DEMO
Problem
I'm trying to make an input field which automatically puts a questionmark at the end of the typed text while typing. I just came up with this code but obviously it generates multiple questionmarks. ``` $("#id").keyup(function(){ $(this).val($(this).val() + "?"); }); ``` Thank you for your ideas.