2013-03-26 24 views
6

mam accordion takiegojQuery nie działa

<div id="accordion"> 
    <h3 id="idname1">text</h3> 
    <div> 
     Text TEXT text 
    </div> 
    <h3 id="idname2">text</h3> 
    <div> 
     Text TEXT text 
    </div> 
    <h3 id="idname3">text</h3> 
    <div> 
     Text TEXT text 
    </div> 
</div> 

Teraz chcę ludzi do kliknięcia łącza (na górze strony), a następnie, że panel otworzy pl ludzie zobaczą teraz za każdym razem zgłoszę mój funkcja

$('.myclass').click(function() { 
    // this is to open the right pannel 
    var getal = $(this).attr('id'); 
    alert(getal); // i get the right name 

    $("#accordion").accordion('activate', 1); 
}); 

moja konsola daje mi ten błąd

Error: no such method 'activate' for accordion widget instance

Nie wiem, na czym polega problem, próbowałem wielu różnych rzeczy, ale żaden nie działał.

+1

Nie powiedziano nam, co akordeon wtyczki używasz. Czy "aktywuj" prawidłową metodę? – isherwood

+2

Zaczynam myśleć, że ktoś dostaje trochę "downvote" szczęśliwy ... – Dom

Odpowiedz

20

Myślę, że chcesz programowo otworzyć okienko akordeonu. Jeśli tak, chcesz coś takiego:

$("#accordion").accordion("option", "active", 1); 

(zakładając że używasz biblioteki jQuery UI)

http://api.jqueryui.com/accordion/#option-active

pamiętać, że ten otwiera drugą taflę akordeon, ponieważ opcje akceptuje Liczba całkowita oparta na 0. (0 to pierwszy, 1 to drugi itd.). Po prostu upewnij się, że podajesz poprawną liczbę całkowitą do wywołania metody :)

Powód, dla którego Twój kod nie zadziała, wynika z tego, że zespół jQuery UI właśnie usunął metodę activate w wersji 1.10 i zaleca użycie tego, co podałem : http://jqueryui.com/upgrade-guide/1.10/#removed-activate-method-use-active-option

+1

to działa thx za pomoc :) –

+2

Zostałem złapany przez usunięcie metod akordeonowych - dzięki za przypomnienie. –

+1

dzięki! też mnie złapią! – Gordon

-2

to powinno działać, jednak nie będzie animować:

$('.myclass').click(function() { 
     // this is to open the right pannel 
     var getal = $(this).attr('id'); 
     alert(getal); // i get the right name 

     $("#accordion").accordion('option', 'active', 1); 
    }); 

Sposób próbujesz użycie było w 1.9.x, ale został usunięty w 1.10.x http://api.jqueryui.com/accordion/#option-active

-1

Aktywuj go jak ten

$("#accordion").accordion("option", "active", 0); 

po prostu włączyć/wyłącz korzystanie z metod osiągnięcia tego celu.

$("#accordion").accordion("enable"); 
$("#accordion").accordion("disable"); 

Aby uzyskać dostęp do opcji akordeonu po pierwszym uruchomieniu, należy użyć obiektu opcji.

$("#accordion").accordion("option", "disabled", true); // set 
var x = $("#accordion").accordion("option", "disabled"); // get 

Spójrz na API http://api.jqueryui.com/accordion/