Pergunta

ok aqui está o código completo com as correções ortográficas e tudo. Eu ainda estou recebendo um erro.

código para o pai é:

$("#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>

o código para o 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);
                 }
           });
});

O erro que eu estou recebendo em bug fogo é agora

$("#leftNav", top.document).accordion is not a function
Foi útil?

Solução

a ortografia acordeão errado em seu código.

EDIT:

Eu tenho um de Trabalho Demonstração que funciona no Firefox (tentei no IE6 mas ele falhou), apenas se o cabeçalho "cliente" é aquele selecionado no momento. Você pode ver o código, adicionando / editar para a URL.

Este parece ser um problema complicado para resolver e, infelizmente, eu não tenho o tempo para olhar para ele mais no momento. Para evitar o erro

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

Eu tive que adicionar uma referência para a interface do usuário script de jQuery para a fonte do iframe.

Parece que o acordeão torna-se inacessível a partir de dentro do iframe, a razão pela qual eu não tenho certeza. A maneira que eu tenho a ativar para o trabalho era muito hacky e basicamente chamado .accordion() na #leftNav novamente, seguido por .accordion('activate',3); como no seguinte

$.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);
  }                                
});

Observe que eu também usei parent.document vez de top.document -. Este último não estava funcionando, mas normalmente faz no Firefox

Espero que ele tem você um pouco mais adiante. I pode voltar a esta um quando eu tiver mais tempo.

Outras dicas

Pode ser o erro de digitação de acordeão vs accordian?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top