2013-12-18 3 views
2

У меня есть подменю в PrimeFaces, которое содержит много элементов меню, я хотел бы его покрасить, когда он будет выбран, чтобы показать пользователю текущий элемент меню.Как изменить цвет текущего выбранного элемента меню?

   <p:submenu label="Books" style="width:60%; color:#FFFFFF; background:#db4455;" 
           icon="ui-icon ui-icon-refresh"> 
         <p:menuitem 
          style="width:95%; font-weight:bold; background:#93c3cd; color:#FFFFFF;" 
          value="Action" url="action.xhtml" /> 
         <p:menuitem 
          style="width:95%; font-weight:bold; background:#93c3cd; color:#FFFFFF;" 
          value="Fiction" url="fiction.xhtml" /> 
       </p:submenu> 

ответ

5

Вы можете сделать это таким образом.

JS

$(document).ready(function() { 

    $('.ui-menuitem-link').each(function(){ 
     if(window.location.pathname.indexOf($(this).attr('href')) != -1) { 
      $(this).css('background', 'red');//or add class 
     } 
    }); 

}) 

Смотрите также:

+0

Спасибо @Hatem было очень полезно – Angelika

+0

Это тоже интересно – Angelika

+0

Это решение было бы затруднительным, если мы предоставим тему-переключатель для пользователя, чтобы изменить цвет темы. Я ожидаю, что для этого параметра PF имеет атрибут default. – rxlky

0

Попробуйте:

<p:menuitem action="resoluciones" value="Resoluciones" style="color :#{expediente.samattramite eq 20 ? '#990000' : 'black'};"/> 

Я не знаю, как ваше приложение разработано, но в моем случае у меня есть переменная (целесообразно.samattramite), которая меняет значение, когда я меняю экран ¿view? (xhtml, извините за мой lenguage) или активную некоторую функциональность, чтобы знать, в каком состоянии я знаю, в каком состоянии я знаю

+0

Как вы знаете, в этом случае выбран пункт меню? Он больше похож на условный стиль, но условие не «выбрано» – Kukeltje

+0

Я не знаю, как ваше приложение разработано, но в моем случае у меня есть переменная (целесообразно.саматтрамит), которая меняет значение при изменении экрана Посмотреть? (xhtml, извините за мой lenguage) или активную функциональность, чтобы знать, в каком состоянии я. –

+0

Тогда, пожалуйста, добавьте это к вашему ответу **, как ** вы храните это. Это непонятно и очень важно. – Kukeltje

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