2011-10-03 114 views
1

我讀書用如何保持HTML新線textarea的

$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext).text())); 

但是一列內容,雖然有多個新行,文本複製不`噸顯示行作爲新的生產線,而是節目它作爲textrea中的一行。

如果我的文字是

Line 1 

Line 2 

Line 3 

它的出現作爲

Line1Line2Line3 
+2

來吧,這將是一個簡單的jsfiddle使。提問時你確實需要使用它。由於我們無法看到它,因此我們無法真正控制您的問題,因此我們無法測試不同的方法。因此,由於你沒有使用一個例子,所有的答案都會是最好的猜測,因爲我們不能沒有jsfiddle就實際測試它們。 –

+1

是的,js小提琴很好玩,但我認爲這是一個明確定義的問題,因此小提琴並非完全必要。 – Donamite

+0

如果他做了小提琴,答案會更容易。這需要他兩分鐘的時間,因爲我有辦法使用他的特定源代碼來測試我的解決方案,所以這使我的工作更容易。 –

回答

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') 
    ) 
); 

與替換部分更豐富一點,以解決更普遍的情況。

1

也許你在表格單元格文本你有內容,如:

Line 1<br/> 
Line 2<br/> 
Line 3<br/> 

或單獨申報單,或也可以使用其他方法將其分開放在不同的行上。 但textarea不處理所有的html標籤,它只顯示純文本。對於分隔線,它使用\n\r,這意味着新的車道和回車。

嘗試將<br />更換爲\n\r。但是隻有在列中的行被分割爲<br />時纔會有幫助。

0

使用

$("#myText").html($.trim($(this).closest('tr').next('tr').find('.mytext').text())); 

您使用的.text僅記錄它說: 「文字」。您需要使用.html來保持格式。

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> 

應該實際工作你期望的方式。