2014-02-05 31 views
0

我想告訴p:confirmDialogp:selectBooleanButton follwoing是p:commandButton代碼它工作正常,但不能與p:selectBooleanButton顯示號碼:confirmDialog與號碼:selectBooleanButton

<p:commandButton value="#{confirm.message}" icon="#{confirm.image}" actionListener="#{confirm.handleChange()}" update="messages"> 
     <p:confirm header="Confirmation" message="Are you sure?" icon="ui-icon-alert" /> 
    </p:commandButton> 
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade"> 
     <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/> 
     <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close"/>  
    </p:confirmDialog> 

當我把p:confirmDialog標籤與p:selectBooleanButton整個頁面是不是可見。 這是我的代碼

<p:selectBooleanButton value="false" onLabel="Yes" offLabel="No" onIcon="ui-icon-check" offIcon="ui-icon-close"> 
      <p:confirm header="Confirmation" message="Are you sure?" icon="ui-icon-alert" /> 
</p:selectBooleanButton> 
<p:confirmDialog global="true" showEffect="fade" hideEffect="fade"> 
    <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/> 
    <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close"/>  
</p:confirmDialog> 
+0

我猜它,因爲onclick事件中selectBooleanButton不可用。在生成的html javascript for p:在第一種情況下,確認已添加到p:commandButton的onclick事件中。 – 757071

+0

p:selectBooleanButton不可確定。你可以添加確認框 – Makky

+0

這件事是不可能的,因爲'p:confirmDialog'的接口沒有被'p:selectBooleanButton'實現,並且它引發了未註冊的行爲異常 – Sarz

回答

0

selectBooleanButton不可確定。另一種選擇是

<h:body> 
     <h:form id="form"> 

      <p:selectBooleanButton value="#{testBeanTwo.selectedOption}" onLabel="Yes" offLabel="No" 
       onIcon="ui-icon-check" offIcon="ui-icon-close"> 
       <p:ajax listener="#{testBeanTwo.showDialog}" /> 
      </p:selectBooleanButton> 

     </h:form> 
     <p:dialog id="test" widgetVar="testW" dynamic="true" modal="true" draggable="false"> 
      <p:panelGrid columns="2"> 

       <f:facet name="header"> 
       Are you sure ? 
       </f:facet> 
       <p:commandButton value="Yes"></p:commandButton> 
       <p:commandButton value="No"></p:commandButton> 
      </p:panelGrid> 


     </p:dialog> 


    </h:body> 

而在你的託管bean

private boolean selectedOption; 

    public BeanClass() { 

    } 

    public void showDialog() { 
     RequestContext context = RequestContext.getCurrentInstance(); 
     if (selectedOption) { 
      context.execute("testW.show()"); 
     } else { 
      context.execute("testW.hide()"); 
     } 

    } 

    public boolean isSelectedOption() { 
     return selectedOption; 
    } 

    public void setSelectedOption(boolean selectedOption) { 
     this.selectedOption = selectedOption; 
    } 

輸出使用

output

+0

感謝Makky,作爲備用 – Sarz