入力中に、入力したテキストの最後に自動的に疑問符を付ける入力フィールドを作成しようとしています。
このコードを思いついたばかりですが、明らかに複数の疑問符が生成されます。
$("#id").keyup(function(){
$(this).val($(this).val() + "?");
});
アイデアありがとうございます。
入力中に、入力したテキストの最後に自動的に疑問符を付ける入力フィールドを作成しようとしています。
このコードを思いついたばかりですが、明らかに複数の疑問符が生成されます。
$("#id").keyup(function(){
$(this).val($(this).val() + "?");
});
アイデアありがとうございます。
$("#id").keyup(function(){
if ($(this).val().split('').pop() !== '?') {
$(this).val($(this).val() + "?");
}
});
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)
}
});
// Input is way better than keyup, although not cross-browser
// but a jquery plugin can add its support.
$('#id').on('input', function() {
// If the last character isn't a question mark, add it
if ( this.value[ this.value.length - 1 ] !== '?' ) {
this.value += '?';
}
});