Подтвердить что ты не робот

Скрытие первой вкладки панели аккордеона в праймерах JSF

По умолчанию первая вкладка панели гармоник прайминга показана открытой при загрузке страницы. Есть ли способ закрыть его при загрузке страницы.

Спасибо

4b9b3361

Ответ 1

Один подход заключается в определении widgetVar:

<p:accordionPanel widgetVar="accordion">
    ...
</p:accordionPanel>

И затем:

<body onload="PF('accordion').unselect(0)">

или для более старых версий PF:

<body onload="accordion.unselect(0)">

Ответ 2

Вы можете просто сделать

<p:accordionPanel activeIndex="-1">

Ответ 3

Он работает, если вы установите для activeIndex значение пустое (прайс-листы 3.4.1).

<p:accordionPanel activeIndex="">

Ответ 4

Ни один из опубликованных ответов не работал у меня в PrimeFaces 3.5.x. используя несколько режимов, но это:

<p:accordionPanel multiple="true" activeIndex="null" ... >

Ответ 5

Вы можете сделать это с помощью функции PF, как показано ниже:

PF('accordionWidgetVarName').unselect(0);

Ответ 6

Ответ для пользователей PrimeFaces 6.0:

Вы можете установить свойство widgetVar, а затем вызвать PF ('widgetVarValue'). unselect (0); как упоминал Фред Поликарпо; тем не менее, мне не удалось заставить это работать на load, и я пробовал разные вещи, например, используя событие div onload, используя remoteCommand с включенным автозапуском и даже используя пользовательский jQuery. Ни один из них не работал для события загрузки, только когда я запустил этот PF, чтобы отменить вызов в консоли.

В PrimeFaces 6.0 вы можете использовать атрибут activeIndex и устанавливать его на несколько значений, например. "1,3,5", чтобы закрыть все вкладки, но открыть 2, 4 и 6 вкладки (индексирование базы 0).