2011-08-29 8 views
1

jquery 조회에서 값을 텍스트 영역에 연결하는 데 사용하는 웹 페이지에서 렌더링되는 html 테이블이 있습니다. 에 렌더링HTML에서 추출한 텍스트의 줄 바꿈 유지

테이블 페이지에 이런 표시이

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

<div>1</div><div>2</div><div>3</div> 

같은 데이터 <td> S를 갖는다.

Hello 

line 2 

1 
2 
3 

나는 HMTL 테이블의 데이터를 끌어와 텍스트 영역의 텍스트 상자에 삽입하는 일부 jQuery를 사용하고 있습니다 ..하지만 그렇게되면 난 그냥 긴 문자열을 볼 수있어 HTML 태그가없는 텍스트와 확실히 줄 바꿈이 없습니다.

텍스트 줄에 최소한 줄 바꿈이 유지되는 텍사아 필드에 해당 데이터를 삽입하는 좋은 jquery 또는 javascript 방법은 무엇입니까?

그래서 기본적으로 나는 HTML 데이터는 적어도 라인 피드 내 여러 줄의 텍스트 영역에 보존되도록하는 것이 양식 JQuery와 또는 자바 스크립트 문자열

어떤 방법을 설정 할 기능이 필요하십니까? 여기

=== 전체 코드를 .. 기본적으로 두 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 ((/ <[^>) +>/g, "")));) /) – o365spo

+0

td.ms-vb 및 .html (... text (변형 .. 동일한 출력.) 감사합니다! – 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

메시지는 내 텍스트 영역입니다 .... 나는 행운이 이렇게 노력하고 .... var textAreaInput = ''; var getTextFromElement = function() {textAreaInput + = $ (this) .text() + '\ n'; }; val (bodyprefixes [0]. $ ('div'). 각 (getTextFromElement)); ... 만약 내가 당신의 코드를 꺼내거나 'l1 \ nl2'데이터를 가져옵니다. – o365spo

+0

더 이상 도움을 줄 수있는 Firebug 오류, HTML 및 JavaScript가 필요합니다. – JoshNaro