8

Mam stronę z zakładkami jQuery. W tych zakładkach jest uporządkowana lista.Numery uporządkowanej listy zmieniają się w 0 podczas klikania zakładki jQuery korytka.

To jest mój kod html:

<div id="tabs"> 

    <ul> 
     <li><a href="#tabs-1">Nunc tincidunt</a></li> 
     <li><a href="#tabs-2">Proin dolor</a></li> 
     <li><a href="#tabs-3">Aenean lacinia</a></li> 
    </ul> 

    <div id="tabs-1"> 
     <ol start="50"> 
      <li>Bibendum Elit</li> 
      <li>Vehicula</li> 
      <li>Amet Bibendum Ultricies</li>   
     </ol> 
    </div> 

    <div id="tabs-2"> 
     <ol> 
      <li>Sollicitudin Cras Vehicula</li> 
      <li>Vulputate Euismod</li> 
      <li>Ridiculus Vehicula Pharetra Nullam</li>   
     </ol> 
    </div> 

    <div id="tabs-3"> 
     <ol> 
      <li>Ullamcorper Parturient</li> 
      <li>Tristique Mollis Venenatis Vehicula</li> 
      <li>Vulputate Bibendum</li>   
     </ol> 
    </div> 
</div> 

i to jest mój javascript:

$(function() { $("#tabs").tabs(); });

Patrz: http://jsfiddle.net/2ewzz/1/

Kiedy przeglądam to w IE9, i klikam od pierwsza zakładka do drugiej karty, a następnie z powrotem do pierwszej karty ponownie, wszystkie liczby są zmieniane na "0"

Czy ktoś wie, co robię źle, lub jak rozwiązać ten problem?

+2

'' start' ol' tag atrybut został przestarzałe w HTML 4,01. W HTML5 jest obsługiwany. Wypróbuj tryb zgodności IE9 i sprawdź, czy działa. –

+1

Sprawdź ten raport o błędzie w jQuery: http://bugs.jqueryui.com/ticket/8021 to wydaje się być problem z IE9. – koopajah

+0

@Aleksandr M: Nie ma to nic wspólnego z atrybutem "start", spróbuj przejść od tab-3 do tab-2 – JimSteinhart

Odpowiedz

3

To wydaje się być problemem w samej IE patrząc na ten związany question.

Udało mi się to naprawić poprzez ponowne utworzenie licznika na elementach listy po ponownym wybraniu karty.

$(function() { 
    $("#tabs").tabs({ 
     select: function(event, ui){ 
      var ol = $($(ui.panel).children()[0]); 
      setTimeout(function(){ 
      ol.children().css("counter-reset", "item") 
      }, 1); 
     } 
    }); 
}); 

Sprawdź ten jsFiddle Przez przykład pracy

0

http://www.w3schools.com/tags/att_ol_start.asp Działa z trybem IE9 Compat.

+0

atrybut "start" nie jest tutaj problemem, i tak działa w widoku zgodności, jak już wspomniał Aleksander M. – JimSteinhart

+0

http://w3fools.com/ –

+0

@JimSteinhart, Więc jaki jest problem, jeśli nie rozpocząć atrybut? –

0

podstawie @sriniris odpowiedź, jeśli masz kilka list:

<script type="text/javascript"> 
    $(function() { 
     $("#tabs").tabs({ 
      activate: function (event, ui) { 
       $(".olReset").each(function() { 
        var ol = $(this); 
        setTimeout(function() { 
         ol.children().css("counter-reset", "item") 
        }, 1); 
       }); 
      } 
     }); 
    }); 
</script> 

Wystarczy zastosować .olReset klasę do swoich list.

Również, select został zamortyzowany.

Powiązane problemy