2016-11-01 2 views
0

У меня есть поле ввода, по щелчку значение становится *, когда я теряю поле фокусировки, становится чистым. Как добавить дополнительный * для ввода каждым нажатием кнопки?Добавить значение для ввода путем нажатия

$('body').append("<input type='text' />"); 

$('input').click(function() { 
    $(this).val('*'); 
}); 

$('input').mouseleave(function() { 
    $(this).val(''); 
}); 
+3

Я хотел бы предложить вам добавить образец желаемый результат на ваш вопрос для ясности. –

+0

Если вход был нажат 3 раза. Я увижу '***' на входе –

ответ

0

Вы заменяете значение поля ввода. Вы хотите добавить к нему. Изменение $(this).val('*'); в $(this).val($(this).val() + '*'));

0

Ваш вызов mouseleave() - это то, что делает поле пустым. Если для каждого щелчка вы хотите добавить звездочку:

$('input').click(function() { 
    $(this).val('*' + $(this).val()); 
}) 
0

Использование переменной вне функции для хранения *

$('body').append("<input type='text' />"); 

var inputVal=""; 

$('input').click(function() { 
    inputVal +="*"; 
    $(this).val(inputVal); 
}) 

$('input').mouseleave(function() { 
    $(this).val(''); 
}) 
+0

Вы можете просто сделать это. This.value + = "*" ' – Endless

+0

Да ... Но OP очищает значение от mouseleave ... Так что нужно его хранить где-то. –

+0

Очень неясно, чего хочет OP ... – Endless

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