Frage

ok hier ist der vollständige Code mit den Rechtschreibkorrekturen und allem. Ich bin immer noch einen Fehler.

Code für Eltern ist:

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

der Code für den 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);
                 }
           });
});

Der Fehler, den ich in Feuer Bug bin immer ist jetzt

$("#leftNav", top.document).accordion is not a function
War es hilfreich?

Lösung

Sie Akkordeon geschrieben habe falsch in Ihrem Code.

EDIT:

Ich habe ein Working Demo , die in Firefox (versucht, in IE6 funktioniert, aber es nicht), nur dann, wenn der „Client“ Header die aktuell ausgewählt ist. Sie können den Code sehen durch Zugabe von / bearbeiten an die URL.

Dies scheint ein schwieriges Problem zu lösen zu sein und ich habe leider nicht die Zeit, sich in sie weiter im Moment. Um den Fehler zu verhindern

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

ich einen Verweis auf den jQuery UI-Skript an die Quelle des iframe hinzuzufügen hatte.

Es scheint, dass das Akkordeon aus dem Innern des iframe nicht mehr zugänglich ist, bin der Grund, warum ich nicht sicher. Die Art und Weise, dass ich die activate zur Arbeit bekam, war sehr hacky und im Grunde .accordion() auf dem #leftNav wieder, gefolgt von .accordion('activate',3); wie in dem folgenden

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

Beachten Sie, dass ich auch parent.document statt top.document verwendet -. Letzteres nicht funktioniert aber normalerweise der Fall ist in Firefox

Ich hoffe, es hat Ihnen zusammen ein wenig weiter. Ich kann auf diese zurückkommen, wenn ich mehr Zeit habe.

Andere Tipps

Könnte es den Tippfehler von Akkordeon vs accordian sein?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top