2017-07-31 19 views
2

我正在開發一個應用程序,使用Primefaces 6.1JSF 2.2如何解決重新選擇SelectOneButton問題?

在這方面,我現在面臨的一個問題是PrimefacesselectOneButton組件,當我點擊已選定的selectOneButton值「1級」,它會自動越來越不可選擇,而不會觸發model方法。

示例代碼:

<p:panel id="mainPagePanelId"> // It is a main panel 
<p:selectOneButton value="#{action.chooseLevelType}"> 
    <f:selectItem id="one" itemLabel="Level1" itemValue="0" /> 
    <f:selectItem id="two" itemLabel="Level2" itemValue="1" /> 
    <p:ajax event="change" update="mainPagePanelId" 
    listener="#{action.triggerMthd}" process="panelId"/> 
</p:selectOneButton> 
</p:panel> 

實際:

在這裏, 「等級1」 按鈕被選中的值,如果我再次對相同的值進行選擇,然後它會未選擇值如下面的Bug screen shot

enter image description here

錯誤:

enter image description here

此錯誤是不存在Primefaces 5.1。 請建議我解決這個錯誤。

+1

我也面臨着同樣的問題。 –

+0

首先查看6.1和中間版本的releasenotes。然後開始比較5.1和6.1中該組件的來源。你可能會找到一個原因。 – Kukeltje

+0

這個問題似乎在PrimeFaces 6.2中解決(假設'unselectable =「false」')。 – toKrause

回答

2

有一個叫unselectablep:selectOneButton即默認爲true屬性,只需將其更改爲false

<p:selectOneButton value="#{action.chooseLevelType}" unselectable="false"> 
+0

但是如果OP **希望**不可選,它應該**像在5.1中那樣觸發ajax監聽器,所以它似乎是一個迴歸 – Kukeltje

+0

我使用的是Primefaces 6.1,因爲沒有不可選擇=「false」 Primefaces selectOneButton組件。 –

+0

@venkatraj您確定您使用PrimeFaces 6.1嗎?請查看[PrimeFaces 6.1文檔](https://www.primefaces.org/docs/guide/primefaces_user_guide_6_1.pdf)第458頁 –