附加文本以在focusout()上形成输入元素值

时间:2013-08-09 13:02:30

标签: jquery forms input

我想在输入表单元素失去焦点时将“已保存”文本附加到输入表单元素中的值。我尝试了以下内容,但似乎没有用。

我的元素:

<div class="info small">
   <span class="element">
        <label for="email">Email</label><br />
        <input type="text" id="email" value="" />
   </span>
</div>

我的jQuery:

$('div.info').on('keyup', 'input', function(event){
    $id = $(this).parent().parent().attr('id');
    $id = parseInt($id);
    $field = $(this).attr('id');
    $text = $(this).val();
    updateField($id, $field, $text);
});

$('div.info').on('focusout', 'input', function(event){
    $('input').append(' saved.');
});

2 个答案:

答案 0 :(得分:3)

使用.blur()并设置输入的val

$('div.info').on('blur', 'input', function(event){
    var currentVal = this.value;
    $('.input').val(currentVal + ' saved.');
});

答案 1 :(得分:3)

从我可以收集到的内容中,您希望输入具有给定的值加上&#39; 。保存&#39;:

$('div.info').on('focusout', 'input', function(event){
    $(this).val(this.value + " saved.");
});

当然,如果您多次将注意力集中在输入上,它会多次追加,但是我会留下这个问题让你去看看。

JSFiddle