2011-12-22 3 views
2

Я новичок в этом форуме, поэтому сначала позвольте мне сказать большое привет и спасибо за предоставление такого замечательного сайта!JQuery отключить вкладку 3 при нажатии вкладки 2?

Я новичок в JQuery, но мне это нравится, у меня есть вкладки JQuery, делающие обычный список/редактирование/создание материала в бэкэнд.

Мне удалось установить вкладку редактирования, которая будет отображаться при просмотре вкладки списка (так как вам нужно выбрать элемент списка для редактирования), и она активируется при нажатии на значок редактирования элемента списка.

Вопрос, который у меня есть, если я затем на третьей вкладке, как отключить вторую вкладку onlick?

Это мой стандартный вкладка код ...

$(function() 
     { 
     $("#tabs").tabs({disabled: [2]}); 

     $("#tabs").tabs();  
     } 
    ); 

HTML:

<div class="demo"> 

<div id="tabs"> 
    <ul> 
     <li><wont let me post 3 links>Jobs</a></li> 
     <li><a href="#tabs-2">Create Job</a></li> 
     <li><a href="#tabs-3">Edit Job</a></li> 
    </ul> 
    <div id="tabs-1" style="background-color: #fff"> 

     Include... 

    </div> 
    <div id="tabs-2" style="background-color: #fff"> 

     Include... 

    </div> 
    <div id="tabs-3" style="background-color: #fff"> 

     Include... 

    </div> 
</div> 

Благодаря

ответ

1

Сначала вы HTML не правильно, так что плагин не initialiaze Что ж. Первая ссылка кнопки вкладки неправилен:

<li><wont let me post 3 links>Jobs</a></li> 

Должен быть

<li><a href="#tabs-1">Jobs</a></li> 

Затем инициализирует два раза плагина, сделать это только один раз.
В обработчике show событий, включить/отключить вкладки в соответствии с фактической вкладки, показанной:

$(function() 
{ 
    $("#tabs").tabs({ 
     //disabled: [2], 
     show: function(event, ui) { 
      if (ui.index === 0) { 
       $('#tabs').tabs('enable', 1); 
       $('#tabs').tabs('enable', 2); 
      } else { 
       $('#tabs').tabs('disable', ui.index === 1 ? 2 : ui.index === 2 ? 1 : -1); 
      } 
     } 
    }); 

    /*$("#tabs").tabs();  
    }*/ 
); 

Вот живой пример работает на jsfiddle

+0

Ха я напечатал, что из-за переполнения стека не пускала тип 3 ссылки - он обычно говорит, как вы сказали :) – TLOR

+0

Но спасибо за ответ, я попробую ваш код сейчас :) – TLOR

+0

Добро пожаловать. Скажите мне, если это то, что вы заботитесь, и принять ответ, если это произойдет. –

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