2017-01-02 3 views
0

У меня есть p:selectBooleanCheckbox, который показывает диалоговое окно для подтверждения действия:Как открыть диалоговое окно подтверждения о проверке р: selectBooleanCheckbox

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

Об изменении p:selectBooleanCheckboxconfirmDialog показывает вверх:

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

Как я могу использовать javascript, чтобы открыть это диалоговое окно, только когда я проверю p:selectBooleanCheckbox, и когда я сниму его, запускается другое действие.

ответ

1

Просто проверьте значение перед показом диалога:

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

Что должно быть другое действие? Вы можете также использовать слушатель и открыть диалог с ним:

<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

проверкой значения, что способ не работает, он показывает ошибку –

+0

если (# {managedBean.isModel}) PF ('confirmDialog'). Show() –

+0

Какая ошибка, может быть, я сделал опечатку? – lastresort

Смежные вопросы