2013-08-01 5 views
-1

Я использую вкладки с помощью jquery и не хочу использовать jQuery UI. Как найти, какую вкладку я нажал?Как найти выбранную вкладку с помощью jquery?

Вот моя структура

<div class="tabs"> 
    <!-- Tabs starts --> 
    <div class="tabview-content"> 
     <div class="card-panel-selector"> 
      <div class="-card-panel-selector-content"> 
       <div class="card-panel-selection card-panel-current"> 
        <div class="panel- label"><span>XYZ</span> 
        </div> 
       </div> 
       <div class="card-panel-selection"> 
        <div class="panel-label"><span>ABCD</span> 
        </div> 
       </div> 
       <div class="card-panel-selection card-panel-selection-account"> 
        <div class="panel-label"><span>PQRS</span> 
        </div> 
       </div> 
       <div class="card-panel-selection"> 
        <div class="panel-label"><span>ASDF</span> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div>` 
+0

Здравствуйте krishyalla, то [jQueryUI вкладка плагин] (http://jqueryui.com/tabs/) использует один список UL для меню и несколько других див для удержания содержимого вкладки (вы можете проверить его в работе [Странице инспектор] (https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector)). Вероятно, ваша структура HTML не будет работать. Вот один из примеров, как это могло бы выглядеть: http://jsfiddle.net/VcVpM/5/ Попробуйте обновить скрипту и свой вопрос с помощью своего собственного css, тогда, возможно, кто-то может помочь вам лучше. Удачи! – Stano

ответ

2

Вкладки Вы, вероятно, хотите добавить какой-то класс, когда одна из вкладок была нажата и добавить selected класс к этой конкретной вкладке, как показано ниже:

//When a tab is clicked' 
$('.tab').click(function(){ 
    //Remove all existing selections 
    $('.tab').removeClass('selected'); 
    //Select the current tab 
    $(this).addClass('selected'); 

    //Logic to show/hide all the tabs except for the selected ones 
}); 

Если вы приняли подход, аналогичный приведенному выше, вы всегда можете получить доступ к вкладке, которая выбирается через следующий селектор:

//Grabs the currently selected tab 
$('.tab.selected') 

Edit: Обновление для более конкретного ответа на ситуацию ФП в

Похоже, что вы используете класс card-panel-current, чтобы указать на вкладку, которая выбрана, так что вы можете изменить в приведенном выше примере, соответственно:

//Your panel was selected 
$('.card-panel-selection').click(function(){ 
    //Unselect all previous panels 
    $('.card-panel-selection').removeClass('card-panel-current'); 
    //Select the current one 
    $(this).addClass('card-panel-current'); 

    //Logic to show/hide contents here 
}); 

Схватив текущую вкладку можно сделать аналогично выше, а также:

$('.card-panel-selection.card-panel-current') 

или

$('.card-panel-current') 
+0

@falsetru это не работает ... выбранный класс должен быть на правой панели карты ... – krishyalla

+0

$ ('. Card-panel-selection .selected'). Click (function() { \t \t $ ('карта панели выбора. ') removeClass (' выбрано ');. \t \t $ (это) .addClass (' выбрано'); \t \t}); – krishyalla

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