2014-10-17 123 views
0

如何在單擊菜單項時獲取菜單項的ID?下面的例子不工作:獲取菜單項的ID

<p:panelMenu id="panelMenuId"> 
    <p:submenu id="submenuId" label="submenu"> 
     <p:menuitem id="menuitemId" 
        action="/views/view" 
        oncomplete="showId(this);" 
        value="link_1" /> 
    </p:submenu> 
</p:panelMenu> 

function showId(menuitemComponent) { 
    alert(menuitemComponent.id); 
} 

這是一個SSCCE,我真的執行一個Ajax請求,我需要的onComplete事件,因爲我需要使用Ajax來執行的東西,然後做一些與菜單項的ID在Ajax請求完成後使用jQuery。

+0

我在onclick中測試過,並沒有工作。它顯示一個空白的警報 – 2014-10-17 20:18:18

+0

這是你在primefaces中的第一次。 p:menuItem在HTML元素中具有相同的功能。 例如:測試 2014-10-17 20:36:52

回答

0

如果你想從p:menuitem得到id,你可以從瀏覽器的開發者工具中檢查元素 然後,你可以使用jQuery來grap元素。

你也可以嘗試onclick從oncomplete更好,因爲你沒有發送ajax請求,所以不需要等待完成ajax請求。

當點擊菜單項時,onclick會被觸發。

+0

我的問題有一個SSCCE,我真的執行一個ajax請求,我需要oncomplete事件,因爲我需要使用ajax執行某些操作,然後執行一些操作在ajax請求完成後使用jQuery使用menuitem的id – 2014-10-17 20:45:10

+0

你檢查過瀏覽器的開發者工具嗎? – 2014-10-17 20:49:12

+0

如果它是<輸入onclick ='showId(this)'/> 那麼我相信它會工作,但在黃金時段,你需要檢查在瀏覽器開發工具,以確保有關javascript – 2014-10-17 20:50:11