вкладки jQuery UI. Как выбрать вкладку по ее идентификатору, а не по индексу - PullRequest
45 голосов
/ 06 мая 2011

У меня есть две вкладки и настроен пользовательский интерфейс jQuery.

ul  class="tabs"
  li  tabone
  li tabtwo
ul

динамически из кода C # позади, я буду скрывать или выбирать некоторые вкладки, скажем, tabtwo а другая вкладка должна быть скрыта или не показана. Я могу сделать это в JavaScript, используя .tabs({selected:1}); и .tabs(disable:0)., но я не хочу использовать индексы табуляции для этого.

Есть ли альтернатива для выбора вкладок на основе их имени / идентификатора?

Ответы [ 14 ]

1 голос
/ 11 декабря 2012

Ни один из этих ответов не работал для меня. Я просто обошел проблему. Я сделал это:

$('#tabs-tab1').removeClass('tabs-hide');
$('#tabs-tab2').addClass('tabs-hide');
$('#container-tabs a[href="#tabs-tab2"]').parent().removeClass('tabs-selected');
$('#container-tabs a[href="#tabs-tab1"]').parent().addClass('tabs-selected');

Отлично работает.

0 голосов
/ 03 августа 2016

$ ("# tabs"). Tabs ({active: [0,2], отключено: [3], выбрано: 2}); Где выбрано используется для открытия вкладки «Особые» или «Выбор конкретной вкладки при загрузке».

0 голосов
/ 02 декабря 2014

Я сделал это так

if (document.location.hash != '') {
   //get the index from URL hash
   var tabSelect = document.location.hash.substr(1, document.location.hash.length);
   console.log("tabSelect: " + tabSelect);
   if (tabSelect == 'discount')
   { 
       var index = $('#myTab a[href="#discount"]').parent().index();
       $("#tabs").tabs("option", "active", index);
       $($('#myTab a[href="#discount"]')).tab('show');
   }
}
0 голосов
/ 06 мая 2011

Я делаю дикое предположение, что у вас действительно есть макет:

<ul  class="tabs">
  <li id="tabone">one</li>
  <li id="tabtwo">two</li>
</ul>

Если это предположение верно, вы просто используете ID, чтобы выбрать «вкладку»

$('#tabone').css("display","none");

РЕДАКТИРОВАТЬ: выберите вкладку на вашем макете:

var index = $('.tabs ul').index($('#tabone')); 
$('.tabs ul').tabs('select', index); 
...