2013-04-16 31 views
16

Tôi cần chọn chức năng tab cụ thể cho các tab jquery khi nhấp vào nút html. Tôi đang sử dụng tệp jquery.1.9.1.jsjquery-ui-1.10.2.custom.js. Tôi đã thực hiện dưới đây mã nhưng không làm việc cho tôi.Lỗi thời gian chạy Microsoft JScript: không có phương pháp 'chọn' cho ví dụ về tiện ích tab

<script language="javascript" type="text/javascript"> 
$("#ui-tabs").tabs(); 
function SelectTab() { // bind click event to link 
       $('#ui-tabs').tabs('select', 2); // switch to third tab 
       return false; 
      } 
</script> 
<div id="ui-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">Tab1 content </div> 
<div id="tabs-2">Tab2 content </div> 
<div id="tabs-3">Tab3 content </div> 
</div><a id="next" class="button-style" href="#" onclick="return SelectTab();">Select Tab</a> 

Vấn đề là tuyên bố $('#ui-tabs').tabs('select', 2); chức năng SelectTab mang lại cho tôi lỗi Microsoft JScript runtime error: no such method 'select' for tabs widget instance. Lựa chọn bình thường các tab khi nhấp vào chúng hoạt động tốt. Nhưng nó không hoạt động khi thực hiện cuộc gọi hàm. Có gì sai trong việc triển khai hoặc có bất kỳ tệp nào bị thiếu không? xin vui lòng đề nghị.

Trả lời

47

Không có phương thức select cho tab giao diện người dùng jQuery trong phiên bản này. Để chức năng của bạn hoạt động, bạn cần thay đổi mã của mình thành;

$('#ui-tabs').tabs("option", "active", 2); 

Vui lòng đọc http://api.jqueryui.com/tabs/#option-active để biết thêm thông tin về điều này.

// getter 
var active = $(".selector").tabs("option", "active"); 

// setter 
$(".selector").tabs("option", "active", 1); 

Hãy kiểm tra điều này một chút jsFiddle để biết ví dụ về hoạt động.

+1

Cảm ơn Tim B James. Nó hoạt động rất tốt. Một câu hỏi nữa, Làm cách nào tôi có thể nhận được chỉ mục tab đã chọn trong ngữ cảnh đó? –

+1

@eraj xem câu trả lời được cập nhật. –

+0

Điều này đã không giúp tôi ở nơi đầu tiên bởi vì tôi đã đọc nhanh và bỏ lỡ nó nhưng phát hiện ra trong một cách khó khăn mà câu trả lời này là chính xác như vậy cho một +1 kiếm được độc đáo. Đối với những người mù như tôi: tìm kiếm .tabs ('chọn', thuật ngữ trong mã của bạn xác định vị trí và thay thế chúng bằng .tabs ("tùy chọn", "hoạt động", –

0

Nếu bạn muốn tạo liên kết indiviual để mở các tab trên trang web của bạn, bạn có thể sử dụng chức năng dưới đây và gọi nó với

<div onclick="changeToTab(targetTabNumber)"> mylinkText </div> 

function changeToTab(ID){ 
    var $tabs = $('#tabs').tabs(); 
    $tabs.tabs("option", "active", ID); 
    return false; 
} 

mục tiêu đầu tiên được adressed với 0, thứ hai với 1 và vân vân. Div có thể là bất cứ thứ gì cho phép onclick tất nhiên.

+0

Có gì mới trong câu trả lời này –

+0

Tôi muốn cung cấp Câu trả lời tương thích với newbie hơn có thể không thêm giá trị cho các nerds biết cách xử lý câu trả lời 1. Tôi biết những gì một getter và setter là, nhưng tôi nhớ một thời gian khi tôi không. – Max

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