سؤال

حسنًا، هذا هو الكود الكامل مع التصحيحات الإملائية وكل شيء.ما زلت أتلقى خطأ.

رمز الوالدين هو :

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

الخطأ الذي أواجهه في Fire Bug هو الآن

$("#leftNav", top.document).accordion is not a function
هل كانت مفيدة؟

المحلول

لقد كتبت الأكورديون بشكل خاطئ في التعليمات البرمجية الخاصة بك.

يحرر:

انا املك العمل التجريبي الذي يعمل في Firefox (تم تجربته في IE6 ولكنه فشل)، فقط إذا كان رأس "العميل" هو الذي تم تحديده حاليًا.يمكنك رؤية الكود عن طريق الإضافة /يحرر إلى عنوان URL.

يبدو أن هذه مشكلة صعبة الحل، ولسوء الحظ ليس لدي الوقت الكافي للنظر فيها بشكل أكبر في الوقت الحالي.لمنع الخطأ

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

اضطررت إلى إضافة مرجع إلى البرنامج النصي jQuery UI إلى مصدر iframe.

يبدو أنه يتعذر الوصول إلى الأكورديون من داخل إطار iframe، ولست متأكدًا من السبب.كانت الطريقة التي حصلت بها على التنشيط للعمل مخترقة للغاية وتم استدعاؤها بشكل أساسي .accordion() على ال #leftNav مرة أخرى، تليها .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.

آمل أن يكون قد وصل بك إلى أبعد قليلاً.قد أعود إلى هذا عندما يكون لدي المزيد من الوقت.

نصائح أخرى

ويمكن أن يكون الخطأ المطبعي من الأكورديون مقابل accordian؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top