2012-04-05 2 views
1

У меня есть код, как показано ниже.p: tabView tabIndex access

<p:tabView value="#{bean.entityList}" id="tabView" var="item"> 
    <p:tab title="#{item.name}"> 
    . 
    . 
    . 
    </p:tab> 
</p:tabView> 

Я хочу получить доступ к индексу вкладки точно так же, как rowIndexVar datatable. Как получить индекс вкладок?

+0

widgetVar.activeIndex дает текущий индекс – rags

+0

@rags Это ответ, вы должны опубликовать его как ответ. –

+0

спасибо за ответ, но это не ответ. Мне нужно, например, rowIndexVar из datatable. widgetVar.activeIndex дает только текущий индекс. Но я буду использовать индекс во время рендеринга, чтобы сгенерировать что-то еще. – ogok

ответ

1

Существует очень ужасное обходное решение для этого, которое я не рекомендую, но это лучшее, что я мог придумать. Это связано с наличием немного Javascript для отслеживания количества вкладок и внутри каждой вкладки с использованием большего количества Javascript для генерации HTML-кода, который нуждается в индексе вкладок.

На странице <head> вашей страницы инициализируется счетчик вкладок;

<head> 
    <script> 
    // Global tab counter 
    tabCount = -1; 
    </script> 
</head> 

Затем, когда вы рисуете каждую вкладку, увеличивайте счетчик. Внутри вкладки, когда вам нужен индекс вкладки, создайте небольшой скрипт для генерации HTML с индексом. Например:

<p:tabView value="#{bean.entityList}" id="tabView" var="item"> 
    <p:tab title="#{item.name}"> 
    <script> 
     // Increment the tab counter 
     tabCount++; 
    </script> 

    <!-- Now the tab content --> 
    The index of this tab is: 
     <script> 
     document.write(tabCount); 
     </script> 
    </p:tab> 
</p:tabView> 

Как я уже сказал, это ужасно и заставляет меня вздрагивать всякий раз, когда я вижу это, но это работает.

+0

Идентификатор вкладки содержит также «индекс». например 'Car - Y25YIH5' и 'Car - HSFY23H' где 0 и 2 являются индексом (1 находится между ними, конечно ;-)) Итак, вы можете разобрать это. Или вы можете сделать небольшой javascript, который выглядит в dom, индекс которого он имеет ... Поэтому нет необходимости отслеживать счетчик, но это все клиентская сторона (я подозреваю, что OP понадобится серверной стороне) – Kukeltje

+0

О, и, по крайней мере, в 6.1 документах (не проверял более старые версии), есть атрибут 'tabIndex' – Kukeltje

+0

. Я не уверен, какая часть DOM построена в теге' p: tab' при построении страницы , поэтому может быть, что идентификаторы табуляции недоступны этой точкой. Но это может сработать. Re. 'tabIndex'. Я уверен, что он связан с глобальным расположением вкладок элементов на веб-странице и не связан с вкладками в tabView. – squaregoldfish

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

  • Нет связанных вопросов^_^