2011-08-29 36 views
1

我有一個html表,它正在jquery查找中插入值到textarea中使用的網頁上呈現。保存從HTML中提取的文本中的換行

是上呈現的表有<td> s的數據這樣

<td class="ms-vb"><p>Hello.&nbsp;</p><p>&nbsp;line2</p> 

<div>1</div><div>2</div><div>3</div> 
出現這樣的頁面上

Hello 

line 2 

1 
2 
3 

我使用jQuery的一些拉HMTL表中的數據並將其插入一個文本的文本框..但是當我做,我只看到一個長字符串沒有html標籤的文本,當然也沒有換行。

什麼是一個很好的jQuery或JavaScript的方式插入數據到我的textearea領域,至少換行保存在textarea?

所以基本上我需要一個會變成這個字符串

任何方式的jQuery或JavaScript的形式HTML數據,使得至少換行符我多textarea的保存功能?

===完整的代碼在這裏..基本上還是在做我的網頁上的一些表的查找,並用它來插上值在兩個textxboxs:

<script type="text/javascript"> 
$('select[title$=Issue Type] option:eq(0)').text("Please Select").val(""); 
$('select[title$=Issue Type]').change(function(){ 
var issue = $('select[title$=Issue Type] :selected').text(); 
var bodyprefixes = []; 
$('#issuetbl td:contains('+issue+')').nextAll().each(function(i, k) { 
bodyprefixes.push($(k).text()); 
}); 
$('input[title$=Subject]').val(bodyprefixes[1]); 
$('input[title$=Message]').val(bodyprefixes[0]); 
}); 
</script> 

回答

1

嘗試使用正則表達式。如果你想支持其他標籤,你將不得不將它們包含在正則表達式中。這裏的一個支持
也:

$('#txtarea').text(
    $('td.ms-vb').text() 
     .replace(/<\/?(br|div|p)\/?>/g, "\n\n") 
     .replace(/<[^>]+>/g, "") 
); 

注意:您可能需要修剪四「\ n」從你的輸出。

+0

此代碼看起來很有前途..遇到問題..添加警報並剛剛獲取[object Object] ... bodyprefixes.push($(k).text($('td')。text()。replace// \ /?(br | div | p)\ /?>/g,「\ n \ n」)。 – o365spo

+0

嘗試了td.ms-vb和.html(...文本(變體..相同的輸出。謝謝! – o365spo

+0

此代碼似乎工作形式... bodyprefixes.push($(k).html()。replace (/DIV/g,"\n").replace(/   /g,"\n").replace(/ <[^>] +>/g,「」)); 謝謝!!! – o365spo

0

喜歡的東西:

var textAreaInput = ''; 

var getTextFromElement = function() { 
    textAreaInput += $(this).text() + '\n'; 
}; 

$('p').each(getTextFromElement); 
$('div').each(getTextFromElement); 
+0

消息是我的textarea ....我試着這個沒有運氣.... var textAreaInput =''; var getTextFromElement = function(){textAreaInput + = $(this).text()+'\ n'; }; $( 'textarea的[標題$ =消息')VAL(bodyprefixes [0] $( 'DIV')每個(getTextFromElement)); ...如果我拿出你的代碼或者插入'l1 \ nl2'它就會得到數據。 – o365spo

+0

需要任何Firebug錯誤,HTML和JavaScript來進一步幫助你。 – JoshNaro