2017-01-02 1 views
0

Ich habe einen p:selectBooleanCheckbox, die einen Dialog zeigt eine Aktion zu bestätigen:Wie ein Bestätigungsdialog auf Überprüfung von p zu öffnen: selectBooleanCheckbox

<p:selectBooleanCheckbox id="isModel" value="#{managedBean.isModel}" > 
    <p:ajax event="change" oncomplete="PF('confirmDialog').show()" /> 
</p:selectBooleanCheckbox> 

Auf den Wechsel von p:selectBooleanCheckbox die confirmDialog zeigt sich:

<p:confirmDialog id="confirmDialog" widgetVar="confirmDialog" closable="false" width="50%" >   
    <p:commandButton value="oui" ..... /> 
    <p:commandButton value = "non" ...../> 
</p:confirmDialog> 

Wie kann ich javascript verwenden, um diesen Dialog nur zu öffnen, wenn ich überprüfe p:selectBooleanCheckbox, und wenn ich es abcheck löst eine andere Aktion

Antwort

1

einfach den Wert überprüfen, bevor Sie den Dialog zeigt:

<p:selectBooleanCheckbox id="isModel" value="#{managedBean.isModel}" > 
    <p:ajax event="change" process="@this" oncomplete="if(#{not managedBean.isModel}) PF('confirmDialog').show()" /> 
</p:selectBooleanCheckbox> 

Was sollte die andere Aktion sein? Sie könnten auch einen Hörer verwenden und öffnen Sie den Dialog mit ihm:

<p:selectBooleanCheckbox id="isModel" value="#{managedBean.isModel}" > 
    <p:ajax event="change" listener="#{managedBean.isModel}/> 
</p:selectBooleanCheckbox> 

Bean:

public void isModel() { 
if(isModel) {  
    RequestContext context = RequestContext.getCurrentInstance(); 
    context.execute("PF('confirmDialog').show();"); 
    } 
else{ 
    // do some other action 
    } 
} 
+0

den Wert überprüft auf diese Weise nicht funktioniert, es zeigt einen Fehler –

+0

if (# {managedBean.isModel}) PF ('confirmDialog'). Show() –

+0

Was ist der Fehler, vielleicht habe ich einen Tippfehler gemacht? – lastresort

Verwandte Themen