我正在使用
阅读专栏内容$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext).text()));
但是,虽然有多个新行,但是复制的文本不会将这些行显示为新行,而是将其显示为textrea中的一行。
如果我的文字是
Line 1
Line 2
Line 3
它出现在
Line1Line2Line3
答案 0 :(得分:1)
您可能在表格单元格中发送文字内容,如:
Line 1<br/>
Line 2<br/>
Line 3<br/>
或者在单独的div中,或者在其他方法中将它拆分为单独的行。
但textarea
不处理所有html标记,它只显示纯文本。对于分离线,它使用\n\r
whitch表示新的车道和回车。
尝试将<br />
替换为\n\r
。但只有当列中的行被<br />
拆分时才有用。
答案 1 :(得分:0)
使用
$("#myText").html($.trim($(this).closest('tr').next('tr').find('.mytext').text()));
你使用的.text只记录它所说的内容:“text”。您需要使用.html来保持格式化。
答案 2 :(得分:0)
看起来问题可能来自你的修剪功能。您正在修剪所有换行符。为了能够修剪它并在最后有一个换行符,你可以手动将换行符放在那里:
$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext').text()) + "\r\n");
在对此进行了几分钟的审核之后,我不得不同意使用jsfiddle进行故障排除会更容易。目前还不完全清楚究竟发生了什么。我们必须对如何使用此代码做出很多假设。例如,我们假设
Line 1
Line 2
实际上是
Line 1<br>
Line 2<br>
应该按照你期望的方式运作。
答案 3 :(得分:0)
您的代码是否如此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')
)
);
更换部分更加丰富,以解决更一般的情况。