2013-02-22 46 views
0

我有一個selectBooleanCheckbox,其中有一個支持bean,將複選框的值設置爲true。這顯示了在渲染上檢查的框。 (我想要的)然而,當你點擊該框(假設它應該刪除支票),它會繼續被檢查。只有在第二次點擊後,該框纔會被取消選中。這導致另一個問題。如果該框從未被點擊過(假設布爾值應該等於true,因爲該值沒有改變),該值被保存爲false並且與我的邏輯聯繫在一起。由於要求我需要在加載時檢查盒子。注意:Ajax似乎工作正常。 這裏是我的代碼:selectBooleanCheckbox for primefaces的問題

HTML:

<p:selectBooleanCheckbox id="testBox" 
       widgetVar="textBoxVar" 
       value="#{bean.testValue}"> 
       <p:ajax event="change" process="testValue"> 
        <s:conversationId/> 
       </p:ajax> 
</p:selectBooleanCheckbox> 

豆:

Boolean testValue = 'true'; 

public void setTestValue(Boolean test1){ 
    this.testValue = test1; 
    } 

public Boolean getTestValue(){ 
    return this.test; 
} 

回答

0

首先這種結構:

Boolean testValue = 'true'; 

不存在於Java,所以我會考慮這與打字錯誤一樣。

其次您的process="testValue"似乎不正確。你沒有這個ID的組件,至少不在這裏。如果您只想處理p:selectBooleanCheckbox,請使用process="testBox"process="@this"

而且,我知道s:conversationId是JBoss Seam的框架,我不知道的是,工作與p:ajax正確的,是工作讓你檢查,但要準備,這也許將沒有工作與Seam的對話是正確的。

+0

我很感謝你的回答,但是,我沒有問題的ajax實現。我的問題是爲什麼複選框顯示爲「已檢查」,但實際上用戶需要再次單擊複選框以觸發值更改爲「真」。這隻發生在第一次點擊。 (複選框顯示選中,用戶單擊該框並保持選中狀態,用戶再次單擊並且該複選框現在處於「未選中」狀態) – 2013-02-25 16:55:09