2009-08-07 19 views
6

So come popolare una textarea, ma come popolarla in modo che mantenga le interruzioni di riga?come si popola una textarea con jquery e interruzioni di riga?

es

html

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

jquery

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

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

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


}); 

Tutto il bla è solo roccia nella textarea in una riga. Qualche idea?

modifica: Ho provato con html() invece di testo ma produce lo stesso risultato. Immagino che usando l'html() finirei con una textarea con "
", ma non è così ... è solo su una riga.

Anche con questo codice:

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

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

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


}); 

risposta

5

provare a fare:

<!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> 

Vedi Attributes/html

+0

scusa avrei dovuto chiarire, html() è stato il mio primo tentativo in questo. – willdanceforfun

+0

Avrei dovuto essere un po 'più chiaro di me stesso. Dovrai inserire html in "cosa" e aggiungerlo a #purchased usando html() per entrambi. Ho modificato il mio commento con un intero esempio HTML che funziona. –

+0

scusa se quella prima frase su suoni improvvisi, non è destinata a. Spero che questo funzioni per te! –

2

Invece di chiamare il testo() funzione è possibile utilizzare html() e il testo percorso formattato per esso.

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

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

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


}); 
+0

Questo non sembra funzionare per me: | Voglio dire che dovrebbe ... la mia testa dice che dovrebbe ... – willdanceforfun

2

text() rimuove automaticamente html. Quindi in pratica vorrai usare html() invece di testo e sostituire
con \ n

+0

potresti spiegare di più sull'inserimento di \ n? questo è il modo in cui textarea interpreta le nuove linee ... ma come inserirle? – willdanceforfun

Problemi correlati