这里是完整的代码,包括拼写更正和一切。我仍然收到错误。

父母的代码是:

$("#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中尝试但是它失败了),只有当“客户”时才标头是当前选择的标头。您可以通过在网址中添加 / edit 来查看代码。

这似乎是一个棘手的问题需要解决,遗憾的是我现在没有时间进一步研究它。为了防止错误

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

我不得不将jQuery UI脚本的引用添加到iframe的源代码。

似乎手风琴从iframe内部无法进入,我不确定的原因。我让激活工作的方式是非常hacky,基本上再次在 #leftNav 上调用 .accordion(),然后是 .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中使用。

我希望它能让你更进一步。当我有更多时间时,我可能会回到这个。

其他提示

这可能是手风琴与手风琴的错字吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top