Как получить индекс текущего фрагмента пользовательского интерфейса: в лицевой стороне? - PullRequest
1 голос
/ 30 января 2012
<ui:fragment rendered="#{...}">
<p class="#{current.index eq 0 ? '' : 'someClass'}">
  Some Text
</p>
</ui:fragment>
.....
<ui:fragment ...>
<p class="#{current.index eq 0 ? '' : 'someClass'}">
  ...
</p>
....
</ui:fragment>

Как получить индекс текущего фрагмента пользовательского интерфейса: в указанном выше фасете?

Ответы [ 2 ]

1 голос
/ 30 января 2012

Вы жестко кодируете их вместо использования итеративного компонента, такого как <ui:repeat> или около того, поэтому в области действия нет доступных индексов.Просто либо жестко закодируйте индекс, либо используйте итеративный компонент, такой как <ui:repeat>, где индекс доступен по ссылке varStatus.

<ui:repeat value="#{bean.list}" var="item" varStatus="loop">
    <p>#{loop.index}</p>
</ui:repeat>
0 голосов
/ 02 февраля 2012

Если я использую жестко закодированный текст в теге p,

<ui:fragment rendered="#{...}">
<p class="dummyClass someClass">
   Text 1
</p>
</ui:fragment>
<ui:fragment rendered="#{...}">
<p class="dummyClass someClass">
   Text 2
</p>
</ui:fragment>
.........

А затем с помощью jQuery

$('.dummyClass').each(function() {
    if($(this).index() == 1){
        $(this).removeClass('someClass');
    }
});

Обратите внимание, что .index () без параметров возвращает 1 для первого элемента.

...