2013-03-26 43 views
6

Tôi có một accordion như thế nàyjquery accordion kích hoạt không hoạt động

<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> 

Bây giờ tôi muốn mọi người bấm vào một liên kết (trên đỉnh của trang) và sau đó bảng sẽ mở en mọi người sẽ thấy nó bây giờ mỗi khi tôi gọi hàm của tôi

$('.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); 
}); 

console của tôi mang lại cho tôi lỗi này

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

Tôi không biết vấn đề là tôi đã thử nhiều thứ khác nhau nhưng không có gì làm việc.

+1

Bạn chưa nói với chúng tôi những gì Plugin accordion bạn đang sử dụng. Là 'kích hoạt' một phương pháp hợp lệ? – isherwood

+2

Tôi bắt đầu nghĩ rằng ai đó đang nhận được một chút "downvote" hạnh phúc ... – Dom

Trả lời

20

Tôi nghĩ bạn đang tìm cách mở một khung accordion theo chương trình. Nếu vậy, bạn muốn một cái gì đó như thế này:

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

(giả sử bạn đang sử dụng thư viện jQuery UI)

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

Lưu ý rằng điều này sẽ mở ra cửa sổ accordion thứ hai, kể từ khi các tùy chọn chấp nhận một Số nguyên 0. (0 là đầu tiên, 1 là giây, v.v.). Vì vậy, chỉ cần đảm bảo rằng bạn đang chuyển số nguyên chính xác cho cuộc gọi phương thức :)

Lý do mã của bạn không hoạt động là vì nhóm UI jQuery vừa xóa phương thức activate trong v1.10 và đặc biệt khuyên bạn nên sử dụng những gì tôi đã cung cấp : http://jqueryui.com/upgrade-guide/1.10/#removed-activate-method-use-active-option

+1

này hoạt động thx cho sự giúp đỡ :) –

+2

Tôi đã bị bắt bởi việc loại bỏ các phương pháp accordion là tốt - cảm ơn cho lời nhắc nhở. –

+1

cảm ơn! tôi đã bị bắt bởi điều này quá! – Gordon

-2

này nên làm việc, tuy nhiên, nó sẽ không phát hình động:

$('.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); 
    }); 

phương pháp bạn đang cố gắng sử dụng WS trong 1.9.x nhưng đã được gỡ bỏ trong 1.10.x http://api.jqueryui.com/accordion/#option-active

-1

Kích hoạt nó như thế này

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

Để chỉ bật/tắt sử dụng các phương pháp cho mục đích đó.

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

Để truy cập tùy chọn của accordion sau khi init đầu tiên sử dụng đối tượng tùy chọn.

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

Nhìn vào API http://api.jqueryui.com/accordion/

Các vấn đề liên quan