2011-08-14 75 views
28

¿Cómo puedo agregar texto de un DIV a un área de texto?Agregar texto a textarea - Jquery

tengo esto ahora:

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

Respuesta

44

A sólo append() los nodos de texto:

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

http://jsfiddle.net/nQErc/

+0

Esto no agrega el texto en el área de texto, pero fuera de él. –

+0

No, no :) Mire el código e inspeccione el elemento. Quizás esté pensando en 'after()' – AlienWebguy

+0

Aunque: Agrega el texto, pero crea muchos espacios. ¿Cómo puede esto ser evitado? –

21

Eso debería funcionar. Mejor si se pasa una función a val:

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

esta manera se evita la búsqueda del elemento y llamando val dos veces.

+2

¿Mejor cómo? ¿En qué manera? – AlienWebguy

+3

@AlienWebguy: Mejor que '$ ('# replyBox'). Val ($ ('# replyBox'). Val() + quote);' porque no busca el elemento y llama a 'val' dos veces. –

+0

Genial, gracias por la aclaración. – AlienWebguy