JQuery UI Аккордеон отключить вкладку - PullRequest
4 голосов
/ 11 мая 2011

Как я могу отключить определенные вкладки в jQuery UI accordion(), чтобы пользователь не мог щелкнуть, чтобы открыть содержимое вкладки.Допустим, я хочу отключить вторую вкладку в примере ниже.

http://jsfiddle.net/3JAkv/8/

Ответы [ 3 ]

3 голосов
/ 08 июля 2013

Может быть, я ошибаюсь,
но если я добавлю класс «ui-state-disabled» в нужный заголовок, заголовок / вкладка больше не будет доступен для выбора.

Я работаю с:
jquery-ui-1.10.3 и jquery-1.7.1

1 голос
/ 11 мая 2011

В 1.8.x нет связанного способа сделать это.

В версии 1.9 (бета-версия доступна на момент написания) событие beforeActivate выглядит так, как будто вы можете обработать и вернуть falseчтобы предотвратить активацию.Предполагая, что вы установили .data('enabled', false) в заголовке отключенного раздела, вы можете сделать что-то вроде следующего в 1.9:

$('.ui-accordion').bind('accordionchangestart', function(event, ui) {
  if(ui.newHeader and !ui.newHeader.data('enabled')) {
    return false;
  }
  // fall through activation happens as normal
});
0 голосов
/ 06 января 2016

Я вставляю JSFriddle с примером управляемого навигационного аккордеона. Это означает, что пользователь не может пропускать шаги или свободно перемещаться по аккордеону, но только с помощью жестко закодированных кнопок, которые могут быть активированы или размещены с помощью jQuery. Надеюсь, поможет. https://jsfiddle.net/moriz/rvuwze6s/

В основном JS выглядит так:

 $(function() {
     $("#accordion").accordion({
         disabled: true
     });
 });

 function operateAccordion(tabNumber) {
     $("#accordion").accordion("option", "active", tabNumber);
 }

И кнопки должны быть такими:

<a href="javascript:operateAccordion(1)">Next step</a>

Примите во внимание, что части аккордеона пронумерованы от 0 и далее. Так что эта кнопка может быть использована для перехода назад или вперед в навигации.

...