2013-12-18 82 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有默認屬性。 – rxlky

0

試試這個:

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

我不知道你的應用程序是如何開發的,但在我的情況下,我有一個變量(expediente.samattramite),當我改變屏幕¿ (xhtml,對不起我的語言)或激活一些功能知道我在什麼狀態

+0

你怎麼知道在這種情況下,menuitem被選中?它看起來更像是有條件地設計它的樣式,但條件不是'它被選中' – Kukeltje

+0

我不知道你的應用程序是如何開發的,但在我的情況下,當我改變屏幕時,我有一個變量(expediente.samattramite)視圖? (xhtml,對不起我的語言)或激活某些功能來了解我處於什麼狀態。 – 2017-04-05 12:51:59

+0

然後,請將您的答案添加到**如何存儲您的答案。這並不明確,也很重要。 – Kukeltje