Почему аккордеонная секция jQuery не активируется в IE 8? - PullRequest
0 голосов
/ 22 мая 2011

Я использую форму из нескольких частей в аккордеоне jQuery UI. Когда пользователь нажимает «Далее», открывается следующий раздел, который еще не был отправлен. Он не работает должным образом в IE 8 - следующий раздел не открывается. У кого-нибудь есть мысли о том, что я могу сделать здесь, чтобы обеспечить совместимость с IE 8?

РЕДАКТИРОВАНИЕ UDPATE К ВОПРОСУ: Используя инструменты разработчика IE, я обнаружил, что код ломается при «next = i». Ошибка гласит: «Объект не поддерживает это свойство или метод». Есть мысли о том, что я здесь делаю не так?

$(":submit").live('click', function() {
whichButton =  $(this).val();
})

$("#selection-form").validate({
   submitHandler: function(form) {
     var acc = $("#accordion");
//...
   complete: function(e) {
     $('#selection-information').attr('state', 1);
     acc.children('.step').each(function(i){
         if($(this).attr('state') == 0) 
            {
        next = i;
        return false;
        }
    })
        if(whichButton=='complete'){
         acc.accordion('activate',next);            
}

//...

ОБНОВЛЕНИЕ: Проблема, кажется, заключается в попытке активации с помощью «следующего», а не с конкретным индексным номером (даже если «следующий» должен идентифицировать открываемый индекс). Если я заменю «следующий» на фактический номер индекса, откроется этот раздел. Любые мысли о том, как решить эту конкретную проблему?

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

Я столкнулся с этой же проблемой. IE очень привередлив в правильном html и , следя за тем, чтобы внутри вашего аккордеона не было ничего вне структуры <h3></h3><div></div>, например, если у вас есть это:

<h3>a header</h3>
<div>some content</div>
<h3>another header</h3>
<div>some more content</div>

это будет работать, но это не будет:

<h3>a header</h3>
<div>some content</div>
<span>extra stuff</span>
<h3>another header</h3>
<div>some more content</div>

Это все будет внутри любого элемента, который вы называете .accordion () на.

0 голосов
/ 26 мая 2011

Видимо, возник конфликт или проблема с использованием названия «следующий». Я изменил «next» на «nxt» внутри функции, и теперь гармошка работает в IE8.

...