2010-04-20 3 views
7

Я хотел бы иметь окно ввода, которое автоматически добавляет видимый знак процента пользователю при вводе чисел (не просто признает его как процент при отправке). Таким образом, пользователь нажимает «2» и видит «2%»JQuery добавить знак процента в поле ввода

Я предполагаю, что JQuery может использовать это довольно легко, но я понятия не имею, как это сделать! Есть идеи?

Спасибо всем.

ответ

11

Вы можете обрабатывать change событие:

$(':input.Percent').change(function() { 
    $(this).val(function(index, old) { return old.replace(/[^0-9]/g, '') + '%'; }); 
}); 
+0

работает чудесно – afreeland

+0

Как добавить запятые и точки в регулярном выражении? – SsouLlesS

-1

На KeyUp события

$('input').keyup(function(e) { 
    if(e.which != 13) { //13 is enter, you dont want to submit the form on enter 
     var value = $.trim($(this).val()); 
     if(value != '') { 
     $(this).val(value +'%'); 
     } 
    } else { 
     return false; 
    } 
}); 
+2

Это добавит несколько знаков для нескольких нажатий клавиш, не так ли? –

+0

ты абсолютно прав Иосиф, мой плохой .. извините – Puaka