[英]How to keep html new line in textarea
我正在使用讀取列內容
$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext).text()));
但是,盡管有多個新行,但是要復制的文本不會將這些行顯示為新行,而是將其顯示為textrea中的一行。
如果我的文字是
Line 1
Line 2
Line 3
它顯示為
Line1Line2Line3
可能您在表格單元格中輸入了以下內容:
Line 1<br/>
Line 2<br/>
Line 3<br/>
或在單獨的div中,或任何其他方法將其分割在單獨的行上。 但是textarea
不能處理所有的html標簽,它只顯示純文本。 對於分隔線,它使用\\n\\r
小節表示新的車道和回車。
嘗試將<br />
替換為\\n\\r
。 但這僅在列中的行由<br />
分隔時有用。
采用
$("#myText").html($.trim($(this).closest('tr').next('tr').find('.mytext').text()));
您使用的.text僅記錄其所說的內容:“ text”。 您需要使用.html來保持格式。
看來問題可能出在您的修整功能上。 您正在修剪所有換行符。 為了能夠修剪它並在末尾有一個換行符,您可以手動在其中放置該換行符:
$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext').text()) + "\r\n");
在回顧了幾分鍾之后,我不得不同意使用jsfiddle進行故障排除會更容易。 目前尚不清楚到底發生了什么。 我們必須對您如何使用此代碼做出很多假設。 例如,我們假設
Line 1
Line 2
實際上是
Line 1<br>
Line 2<br>
實際上應該按照您期望的方式工作。
您的代碼看起來像這樣的Line 1<br/>Line 2<br/>Line 3<br/>
嗎? 如果可以格式化html,請嘗試按以下格式格式化:
Line 1<br/>
Line 2<br/>
Line 3<br/>
如果無法格式化html,則必須使用html
方法,並且#myText
是textarea,則應使用val
方法設置其值。
如果您無法格式化html,則您的代碼應如下所示:
$("#myText").val(
$.trim(
$(this).closest('tr').next('tr')
.find('.mytext').html().replace('<br/>', '/r/n')
)
);
替換部分更豐富,可以解決更一般的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.