Обновить текст по изменению значения textarea w/jQuery
У меня есть текстовое поле. Мне нужно обновить текст в div, когда значение в textarea будет изменено с помощью набрав в нем или поместив в него некоторое значение с помощью другой функции jQuery или вставить.
$(document).ready(function(){
function myFunc() {
var input = $("#myTxt").val();
$("#txtHere").text(input);
}
myFunc();
// EDIT BELOW -- this will update while typing
$("#myTxt").keyup(myFunc);
});
<textarea id="myTxt"></textarea>
<div id="txtHere"></div>
Он загружает значение при загрузке страницы, но я не уверен, что использовать для проверки значения в текстовом поле...
Ответы
Ответ 1
$(document).ready(function(){
function myFunc(){
var input = $("#myTxt").val();
$("#txtHere").text(input);
}
myFunc();
//either this
$('#myTxt').keyup(function(){
$('#txtHere').html($(this).val());
});
//or this
$('#myTxt').keyup(function(){
myFunc();
});
//and this for good measure
$('#myTxt').change(function(){
myFunc(); //or direct assignment $('#txtHere').html($(this).val());
});
});
Ответ 2
Для textarea функция .change вызывается только тогда, когда textarea теряет фокус.
Я нашел свое решение по этой ссылке: Как связать с событием изменения текстового поля в jQuery?
$('#textareaID').bind('input propertychange', function() {
$("#yourBtnID").hide();
if(this.value.length){
$("#yourBtnID").show();
}
});
Это отлично сработало для меня. Он обрабатывает любые изменения, включая вставку.
Плюс this.value.length
- это аккуратный способ увидеть, очищено ли текстовое поле.
Ура!
Ответ 3
$(document).ready(function(){
$('#myTxt').keypress(function(e){
$('#txthere').html($(this).val());
});
});
Это сделает это.
Ответ 4
Вы можете использовать событие delegate
следующим образом:
$('body').delegate('#myTxt', 'keyup change', function(){
$('#txtHere').text(this.value);
});
Это должно обновить текст сразу после ввода текстового поля или вставки.
Ответ 5
Используйте обработчик события изменения (активируется, когда содержимое изменяется, а текстовая область теряет фокус):
$('#myTxt').change(function(){
var input = $("#myTxt").val();
$("#txtHere").text(input );
});
Ответ 6
$(document).delegate('#myTextareaId','input', function() {
$('#myTextId').html($(this).val());
});