添加文本到textarea - Jquery

Oli*_*sen 45 html jquery text add

如何将文本从DIV添加到textarea?

我现在有这个:

    $('.oquote').click(function() { 
      $('#replyBox').slideDown('slow', function() {
      var quote = $('.container').text();   
         $('#replyBox').val($('#replyBox').val()+quote);   
        // Animation complete.
      });    
    });
Run Code Online (Sandbox Code Playgroud)

Ali*_*guy 66

只是append()文本节点:

$('#replyBox').append(quote); 
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/nQErc/

  • 使用.val()而不是.append()或者你会遇到问题. (14认同)
  • 这不会在 textarea 中添加文本,而是在它之外。 (2认同)
  • @ermenkoff非常对.我曾经遇到`.append()`工作的情况,而其他情况则被忽略了,没有明显的原因.使用`.val()`的Felix Kling的答案是稳定的,应该是首选! (2认同)
  • `append()` 仅在您之前没有更改 textarea 的内容时才有效(例如通过键入)!! (2认同)

Fel*_*ing 36

这应该工作.如果将函数传递给val:

$('#replyBox').val(function(i, text) {
    return text + quote;
});
Run Code Online (Sandbox Code Playgroud)

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

  • @AlienWebguy:比'$('#replyBox')更好.val($('#replyBox').val()+ quote);`因为它不搜索元素并且两次调用`val`. (4认同)
  • 怎么样?以什么方式? (2认同)