Apri un pannello a fisarmonica con una funzione
-
06-07-2019 - |
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
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?