将文本添加到 textarea - Jquery

Posted

技术标签:

【中文标题】将文本添加到 textarea - Jquery【英文标题】:Add text to textarea - Jquery 【发布时间】:2011-10-26 21:30:14 【问题描述】:

如何将 DIV 中的文本添加到文本区域?

我现在有这个:

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

【问题讨论】:

【参考方案1】:

只需append()文本节点:

$('#replyBox').append(quote); 

http://jsfiddle.net/nQErc/

【讨论】:

这不会将文本添加到文本区域中,而是添加到文本区域之外。 不,它没有:) 查看代码并检查元素。你可能会想到after() 使用 .val() 而不是 .append() 否则你会遇到问题。 @ermenkoff 非常正确。我遇到过.append() 有效的案例,还有其他一些案例,因为没有明显的原因,它被简单地忽略了。 Felix Kling 使用.val() 的答案是稳定的,应该首选! append() 仅在您未更改 textarea 的内容之前(例如通过键入)才有效!!【参考方案2】:

应该可以。最好将函数传递给val

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

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

【讨论】:

@AlienWebguy:比$('#replyBox').val($('#replyBox').val()+quote); 更好,因为它不搜索元素并调用val 两次。

以上是关于将文本添加到 textarea - Jquery的主要内容,如果未能解决你的问题,请参考以下文章

Angularjs单元测试-将文本添加到textarea时禁用ng的不起作用

如何将可关闭的文本标签添加到 Textarea Kendo | jQuery

如何将文本附加到'<textarea>'?

jquery 添加到 textarea 文本()

使用 javascript 将文本插入 textarea 以用于 google chrome 扩展

将 Spark TextArea 文本复制到另一个 Spark TextArea