2012-08-22 168 views
4

我有一個按鈕,「編輯說明」當我點擊它的文本消失,出現textarea的換行符的jQuery

 if (id == 'commedit') jQuery(this).html('<textarea>'+jQuery(this).text()+'</textarea>'); 
     else if (id == 'commsave') { 
      jQuery(this).text(jQuery(this).find('textarea').val()); 
     } 

在MySQL中我有這樣的文字 - "tetee<br>afafaf<br>afafaf<br>afsafsasfasf"鑑於它換行,但是當dispays我點擊文本區域中的「編輯」,隨着JQuery文本出現沒有行,當我點擊保存它也出現在我的描述字段中的一個長行沒有換行符。所以我需要你的幫助

回答

14

<br>是html的休息時間。你想在文本區域中使用\n

jQuery(this).html().replace(/<br>/gi,"\n") 

當您保存時,您想要將其更改回休息並使用html()而不是text();

var elem = jQuery(this); 
if (id === 'commedit') { 
    var text = jQuery(this).html().replace(/<br>/gi,"\n"); 
    elem.html('<textarea>'+ text +'</textarea>'); 
} else if (id === 'commsave') { 
    var html = elem.find('textarea').val().replace(/\n/g,"<br>"); 
    elem.html(html); 
} 

JSFiddle Example

+0

我可以問你該怎麼辦textarea的喚起注意的文字高度。如何獲得文本高度並將此值傳遞給textarea高度。我試過這個.html(''),現在身高是靜態的,但我想做動態 – Viktors

+0

身高值也是什麼關係? – epascarello

+0

今天我注意到,br現在安全好,但空間不在視野中......是否有可能使許多空間容易分離? – Viktors