2011-11-08 1 views
1

다음은 2 개의 아코디언 코드입니다 (jquery UI). 첫 번째는 html로 하드 코딩되고, 두 번째는 jquery를 통해 문서 준비에서 페이지로 전달됩니다.PHP에서 jQuery UI 구성 요소가 작동하지 않습니다?

HTML은 : [이 아코디언 작동] :

<div class="accordion"> 
    <h3><a href="">one</a></h3> 
    <div>aaaaaaaaaaaaaaaaaaaaaaaa</div> 

    <h3><a href="">two</a></h3> 
    <div>bbbbbbbbbbbbbbbbbbbbbbbb</div> 
</div> 

PHP :

echo' 
<div class="accordion"> 

    <h3><a href="">One</a></h3> 
    <div>111111aaaaa</div> 

    <h3><a href="">Two</a></h3> 
    <div>222222aaaaa</div> 

    <h3><a href="">Three</a></h3> 
    <div>333333</div> 
</div> 
'; 

가 어떻게이 동적으로 아코디언도 작동 전달해야합니까 [이 아코디언이 작동하지 않습니다]?

편집 : 문헌 준비가

$(document).ready(function(){ 

    $('#drag').draggable(); 
    $('.accordion').accordion(); 

    $.post('scripts/test.php', { }, 
     function(output){ 
      $("div#test_php").html(output); 
     } 
    ); 

}); 

아코디언 기능을 설정하고 DOM으로 매립, PHP 스크립트로부터 제 아코디언 요청 ==. 모든 PHP 스크립트는 두 번째 아코디언 코드를 표시합니다.

+0

아코디언을 초기화하는 JavaScript 코드를 확인해야합니다. PHP에서 요청한 jQuery 호출이 완료 될 때까지 아코디언을 초기화 할 수 없습니다. –

답변

3

DOM에 동적으로 주입하는 경우 다시 접합자를 다시 초기화해야합니다.

$.post('scripts/test.php', { }, 
     function(output){ 
      $("div#test_php").html(output); 
      $('.accordion').accordion(); 
     } 
); 
+0

감사합니다. DOM에 동적으로 추가 된 후 "아코디언을"다시 초기화하는 방법은 무엇입니까? –

+0

내 편집을 확인하십시오, 귀하의 콘텐츠가로드 된 후 콜백 함수에서 할 수 있습니다. –

+0

그래, 그게 완벽 해! 고마워요;) –