기능이있는 아코디언 패널을 엽니 다
-
06-07-2019 - |
문제
좋아, 여기에는 철자 수정과 모든 것이 포함 된 전체 코드가 있습니다. 나는 여전히 오류가 발생하고 있습니다.
부모를위한 코드는 다음과 같습니다.
$("#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에서 수행합니다.
조금 더 나아가기를 바랍니다. 더 많은 시간이있을 때 나는 이것으로 돌아올 수 있습니다.
다른 팁
아코디언 대 아코디안의 오타가 될 수 있습니까?
제휴하지 않습니다 StackOverflow