2013-04-16 1 views
16

Мне нужно выберите конкретные вкладки для вкладок jquery при нажатии на кнопки html. Я использую файлы jquery.1.9.1.js и jquery-ui-1.10.2.custom.js. Я выполнил ниже код, но не работает для меня.Ошибка выполнения Microsoft JScript: нет такого метода «select» для экземпляра виджета вкладки

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

Проблема заключается утверждение $('#ui-tabs').tabs('select', 2); в функции SelectTab дает мне ошибку Microsoft JScript runtime error: no such method 'select' for tabs widget instance. Обычный выбор вкладок при нажатии на них работает нормально. Но он не работает, когда выполняется вызов функции. Что происходит в реализации или нет файла? пожалуйста, предложите.

ответ

47

Существует не select метод для вкладок пользовательского интерфейса jQuery в этой версии. Чтобы ваша функциональность работала, вам нужно изменить свой код;

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

Для получения более подробной информации, пожалуйста, прочтите http://api.jqueryui.com/tabs/#option-active.

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

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

Отметьте это маленькое jsFiddle для примера его работы.

+1

Спасибо Тим Б Джеймс. Он отлично работает. Еще один вопрос: Как я могу получить выбранный индекс вкладки в этом контексте? –

+1

@eraj см. Обновленный ответ. –

+0

Этот не помог мне в первую очередь, потому что я быстро читал и пропустил его, но обнаружил, что этот ответ был прав, давая приятный заработок +1. Для слепых, таких как я: поиск .tabs («select», термин в вашем коде найти их и заменить их на .tabs («option», «active», –

0

Если вы хотите сделать indiviual ссылки открывать вкладки на вашем сайте, вы можете использовать функцию ниже, и вызвать ее с

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

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

Первой целью адресуются с 0, вторым с 1 и так далее. Див может быть любым, что позволяет, конечно, щелкнуть.

+0

Что нового в этом ответе –

+0

Я хотел бы дать более новый совместимый ответ, хотя он не может добавить значение для ботаников, которые знали, как справиться с ответом. Я знаю, что такое геттер и сеттер, но я помню время, когда я этого не делал. – Max

Смежные вопросы