문제

좋아, 여기에는 철자 수정과 모든 것이 포함 된 전체 코드가 있습니다. 나는 여전히 오류가 발생하고 있습니다.

부모를위한 코드는 다음과 같습니다.

$("#leftNav").accordion({autoHeight: true});

<div id="leftNav">    <h3><a href="#">Client</a></h3>
<div>        static text    </div>
<h3><a href="#">Account Summary</a></h3>
<div>        static text    </div>
<h3><a href="#"> Profile</a></h3>
<div>        static text    </div>
<h3><a href="#">trip</a></h3>
<div>
    <div id="tripHolder">
    </div>
</div>

iframe 코드 :

$(".bookingClass").click(function(){
     var thisBookingClass = 'bClass='+$(this).attr("id");
           $.ajax({
                type:"POST",
                url:"bookIt.jsp",
                data: thisBookingClass,
                cache:false,
                success: function(msg) {
                    $("#tripHolder",top.document).html(msg);
                    $("#leftNav",top.document).accordion('activate',3);
                 }
           });
});

내가 화재 버그에 들어가는 오류는 이제

$("#leftNav", top.document).accordion is not a function
도움이 되었습니까?

해결책

코드에서 아코디언이 잘못되었습니다.

편집하다:

나는있다 작동하는 데모 "클라이언트"헤더가 현재 선택된 것인 경우에만 Firefox (IE6에서 시도했지만 실패)에서 작동합니다. 추가하여 코드를 볼 수 있습니다 /편집하다 URL에.

이것은 해결하기가 까다로운 문제인 것 같습니다. 불행히도 나는 지금 그것을 더 살펴볼 시간이 없습니다. 오류를 방지합니다

$("#leftNav", top.document).accordion is not a function

jQuery UI 스크립트에 대한 참조를 Iframe의 소스에 추가해야했습니다.

아코디언이 Iframe 내부에서 접근 할 수없는 것으로 보입니다. 내가 활성화 된 일을하는 방식은 매우 해킹되었고 기본적으로 .accordion()#leftNav 다시, 그 뒤에 .accordion('activate',3); 다음과 같이

$.ajax({
  type:"POST",
  url:"http://jsbin.com/etiju",
  data: {},
  dataType: 'html',
  cache:false,
  success: function(msg) {
    $('#tripHolder',parent.document).html(msg);
    $("#leftNav",parent.document).accordion({ autoHeight:true }).accordion('activate',3);
  }                                
});

내가 또한 사용했음을 주목하십시오 parent.document 대신에 top.document - 후자는 작동하지 않았지만 일반적으로 Firefox에서 수행합니다.

조금 더 나아가기를 바랍니다. 더 많은 시간이있을 때 나는 이것으로 돌아올 수 있습니다.

다른 팁

아코디언 대 아코디안의 오타가 될 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top