2012-06-27 84 views
3

我有一個面板網格與各種複選框。複選框與某個掩碼相關聯。當按下複選框時,複選框(checked/unckecked)的值以及特定於該複選框的掩碼參數應傳遞給偵聽器。發送元件值和另一個參數給聽衆

<p:selectBooleanCheckbox value="#{options.mustChangePasswordMask}"> 
    <p:ajax listener="#{options.selectionChanged}" /> 
</p:selectBooleanCheckbox> 

<p:selectBooleanCheckbox value="#{options.mustChangePasswordMask}"> 
    <p:ajax listener="#{options.selectionChanged('MASK_1')}" /> 
</p:selectBooleanCheckbox> 

這兩個代碼片段只做我想要的一半工作。我想在所有複選框中使用偵聽器,所以我不能在偵聽器中使用mustChangePasswordMask屬性。是否有可能將複選框值作爲參數發送給偵聽器,或者以其他方式可供偵聽器訪問?

回答

7

當前組件在EL中可用作隱式變量#{component}。在輸入組件中,將使用UIInput類的實例進行設置,該類的實例又有一個getValue()方法,該方法返回提交,轉換和驗證的值。所以,這應該做

<p:ajax listener="#{options.selectionChanged(component.value)}" /> 
+0

我想在所有複選框中使用相同的偵聽器。我將用這些信息更新這個問題。 – Seitaridis

+0

查看更新的答案。 – BalusC

+0

謝謝你的幫助。 – Seitaridis