2014-12-23 2 views
0

Я хочу использовать следующую .mask.mask с .toUpperCase() для почтовых индексов

$(document).ready(function() { 
    $('#postcode').mask('a9a 9a9'); 

}); 

Но и на каждой ключевой силе удара строчная быть в верхнем регистре, а также позволяют в нижнем регистре, чтобы ввести (I не просто хочу, чтобы установить определение маски, чтобы всегда быть в верхнем регистре), это то, что я пытался до сих пор без успеха (это своего рода работает, но не держать позицию курсора)

$("#postcode").keyup(function (e) { 

      var this2 = $('#postcode').val().toUpperCase(); 

      $('#postcode').val(this2); 

     }); 
+0

dont использовать 'this' как переменное имя ... когда-либо! Держитесь подальше от зарезервированных слов. Почему вы используете 2 разных метода для одного элемента для изменения значения? Просто используйте методы API плагина – charlietfl

+0

@charlietfl, какой метод API я могу использовать для этого? имеют маскировку и принудительную капитализацию для почтовых индексов. – Standage

+0

не использовали этот плагин годами, просмотрите источник и/или документы – charlietfl

ответ

1

Я нашел обходной путь, добавив в текстовое поле:

style="text-transform: uppercase" 
1

переменная this уже определен в области события keyup и d, вероятно, вызвал вашу проблему, когда вы ее назначили. Эта версия сохраняет позицию курсора.

рабочую версию на jsFiddle here

$("#postcode").keyup(function() { 

    var ucase = $(this).val().toUpperCase() 
    $(this).val(ucase); 

}); 
+1

Это не сохраняет положение курсора, оно перемещает его до конца. – nnnnnn

+0

@nnnnnn Это нормальное поведение поля ввода. – Threadid

+0

Да, это то, что мое делало с маскировкой, но это не устраняет проблему – Standage

1

Я думаю, что это лучшее решение:

$(".editor-template__value").keyup(function (e) { 
    var start = e.target.selectionStart; 
    e.target.value = e.target.value.toUpperCase(); 
    e.target.selectionStart = e.target.selectionEnd = start; 
}); 

Вы текст изменится на верхний и положение курсора не изменится.

Смежные вопросы