Domanda

ok ecco il codice completo con le correzioni ortografiche e tutto il resto. Ricevo ancora un errore.

il codice per parent è:

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

il codice per 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);
                 }
           });
});

L'errore che sto riscontrando nel bug di fuoco è ora

$("#leftNav", top.document).accordion is not a function
È stato utile?

Soluzione

hai sbagliato a scrivere la fisarmonica nel tuo codice.

Modifica

Ho un Demo funzionante che funziona in Firefox (provato in IE6 ma fallito), solo se il "client" l'intestazione è quella attualmente selezionata. Puoi vedere il codice aggiungendo / modifica all'URL.

Questo sembra essere un problema difficile da risolvere e sfortunatamente non ho il tempo di approfondire al momento. Per prevenire l'errore

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

Ho dovuto aggiungere un riferimento allo script dell'interfaccia utente jQuery all'origine dell'iframe.

Sembra che la fisarmonica diventi inaccessibile dall'interno dell'iframe, il motivo non sono sicuro. Il modo in cui ho ottenuto l'attivazione per funzionare era molto confuso e fondamentalmente chiamato .accordion () su #leftNav , seguito da .accordion ('activare' , 3); come nel seguito

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

nota che ho usato anche parent.document invece di top.document - quest'ultimo non funzionava ma normalmente su Firefox.

Spero che ti abbia portato un po 'più avanti. Potrei tornare a questo quando avrò più tempo.

Altri suggerimenti

Potrebbe essere il refuso di fisarmonica contro fisarmonica?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top