2009-08-07 13 views
6

Sé cómo poblar un área de texto, pero ¿cómo llenarlo para que mantenga los saltos de línea?¿cómo llenas un área de texto con jquery y linebreaks?

por ejemplo

html

<div id="previous_purchases">blah blah blah<br />blah blah</div> 

jQuery

$('#previous_purchases').click(function(){ 

     var what = $(this).text(); 

     $('#purchased').text(what); 


}); 

Todo el bla acaba de roca en el área de texto en una sola línea. ¿Algunas ideas?

editar: He estado intentando con html() en lugar de texto pero produce el mismo resultado. Me imagino usando el html() terminaría con un área de texto que tenía '
' pero ese no es el caso ... es solo en una línea.

Incluso con este código:

$('#previous_purchases').click(function(){ 

     var what = $(this).html(); 

     $('#purchased').html(what); 


}); 

Respuesta

5

trate de hacer:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" > 
    <head> 
     <title></title> 
     <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      $(document).ready(
       function() { 
       $('#previous_purchases').click(function() { 
       var what = $(this).html().replace(/<br>/, '\n'); 
       $('#purchased').html(what); 
      }); 
     }); 
     </script> 
    </head> 
    <body> 
    <div id="previous_purchases">blah blah blah<br />blah blah</div> 
    <textarea id="purchased" cols="25" rows="10"></textarea> 
    </body> 
    </html> 

Ver Attributes/html

+0

lo siento, debería haber aclarado, html() fue mi primer intento de esto. – willdanceforfun

+0

Debería haber sido un poco más claro yo mismo. Necesitará extraer html en "what" y agregarlo a #purchased usando html() para ambos. Edité mi comentario con un ejemplo completo de HTML que funciona. –

+0

perdón si la primera oración sobre sonidos parece abrupta, no tiene la intención de hacerlo. ¡Espero que esto funcione para ti! –

2

En lugar de llamar texto() función puede usar html() y de texto Ruta formato de eso.

$('#previous_purchases').click(function(){ 

       var what = $(this).text(); 

       $('#purchased').html(what); 


}); 
+0

Esto no parece funcionar para mí: | Quiero decir que debería ... mi cabeza dice que debería ... – willdanceforfun

2

text() elimina html de forma automática. Así que, básicamente, querrá usar html() en lugar de texto, y reemplazar
con \ n

+0

¿podría explicarme más acerca de cómo insertar el \ n? Así es como textarea interpreta las nuevas líneas ... ¿pero cómo ponerlas? – willdanceforfun

Cuestiones relacionadas