2009-11-30 3 views
2

내가이 사업부가 말 :어떻게 입력 값을 포함 사업부의 HTML을 얻을 수

<div id='myDiv'> 
    <input type='text' id='foo' size='30' /> 
</div> 

을 그리고 난이 자바 스크립트 코드를 실행 : 다음 할 경우

($("#foo").val('bar'); 

을 :

alert($("#myDiv").html()); 

또는

alert(document.getElementById('myDiv').innerHTML); 

foo 텍스트 상자의 값이 여전히 비어있는 html의 원본 만 가져옵니다. foo의 html 코드에 추가 된 value='bar' 속성을 가진 html의 현재 사본을 얻고 싶습니다.

어떻게이 작업을 수행 할 수 있습니까?

+0

을 당신은 당신이 그것을 얻을 일단 HTML을 무슨 말을하는 건가요? – PetersenDidIt

+0

div가 숨겨져 있습니다. 필요에 따라 textboxes의 값을 변경 한 다음 div의 html을 가져 와서 html을 iBox에 제공하여 새로운 iBox (인라인 팝업)에 양식을 표시하십시오. –

답변

1

정말 jquery()를 사용하고 싶습니다. clone() 기능. 이렇게하면 #mydiv를 복제 한 다음 복제본을 iBox에 삽입 할 수 있습니다.

var clone = $('#myDiv').clone(); 
$('#iBox').append(clone); 
+0

iBox는 매우 제한되어 있습니다. 열렸거나 닫힐 때 이벤트가 없습니다. 네, 그 무게는 가볍지 만, 당신이하는 일에 너무 가벼울 수도 있습니다. – PetersenDidIt

+0

나는 이벤트가 이것에 도움이 될 것이라고 생각하지 않습니까? –

+0

당신은 #mydiv를 하나만 가질 수 있고, iBox를 닫을 때 그것을 끌어 오지 않고 dom에서 삭제할 수 있습니다. – PetersenDidIt

0

innerHTML을 생성하기 전에 입력 속성의 value 속성을 복사하지 않는 이유는 무엇입니까? 이 경우 리셋 유형 버튼의 효과가 변경됩니다.

0

나는 그것을 이해하기 때문에, "{text from div} = bar"를 표시하고 싶습니까? 이 경우, 아래의 코드는 FF와 IE 모두 나를 위해 작동 :

<html> 
<head> 
<title>Hello</title> 
<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() 
    { 
    $("#foo").val('bar'); 
    alert(($(".myDiv").text()) + ($("#foo").val())); 
    }); 
</script> 
</head> 
<body> 
<div class='myDiv'> 
    Value = <input type='text' id='foo' size='30' /> 
</div> 
</body> 
</html> 
2

는 직접 값 PARAM 설정을 시도 할 수 있지만 여전히 하나의 출력에 영향을 미치지 않습니다 것을 확신합니다. HTML() 또는 .innerHTML :

$('#foo').attr('value', 'foo'); 

는 대신 왜 자신을 추가 :

var html = $('#foo').html(); 
if (html.indexOf('value=') == -1) 
    html.replace(/^<input/, '<input value="' + $('#foo').val() + '"'); 
관련 문제