在Jquery中向文本区域添加文本

55

我该如何将一个DIV中的文本添加到文本区域(textarea)中?

现在我有以下代码:

    $('.oquote').click(function() { 
      $('#replyBox').slideDown('slow', function() {
      var quote = $('.container').text();   
         $('#replyBox').val($('#replyBox').val()+quote);   
        // Animation complete.
      });    
    });
2个回答

87

3
这并不是将文本添加到文本区域内,而是添加到其外部。 - Oliver 'Oli' Jensen
19
使用 .val() 而不是 .append(),否则你将面临问题。 - viktor_vangel
3
@ermenkoff说得非常正确。我曾经遇到过.append()有效的情况,也遇到了没有明显原因被忽略的情况。Felix Kling使用.val()的答案是稳定的,应该优先考虑! - Jpsy
4
append() 只在你没有改变文本域的内容(例如通过输入)之前起作用!! - Marco Torchiano
当文本区域已被编辑时,它将无法工作。https://dev59.com/72445IYBdhLWcg3wuslT - Nathan Do
显示剩余5条评论

52

那应该能行。如果你将一个函数传递给 val,会更好:

$('#replyBox').val(function(i, text) {
    return text + quote;
});

这样做可以避免搜索元素并两次调用val


5
жҜ”иө·$('#replyBox').val($('#replyBox').val()+quote)жӣҙеҘҪпјҢеӣ дёәе®ғдёҚйңҖиҰҒжҹҘжүҫе…ғзҙ е№¶дё”д№ҹдёҚдјҡи°ғз”ЁдёӨж¬ЎvalеҮҪж•°гҖӮ - Felix Kling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接