单击 commandButton 时可选择显示模态
Show modal optionally when commandButton clicked
我有一个问题,我需要根据输入字段的值显示模态,所以我在输入字段中写了一些值,单击保存按钮,基于我应该 运行数据库查询,如果结果存在则显示模态,否则不显示。什么是最好的方法?
问题是我需要单独的 onclick 和 oncomplete 事件。
<p:commandButton id="save_button"
value="Save"
update="@([id*=modalId]) @form"
onclick="jQuery('#modalId').show();"
action="#{cc.attrs.saveAction}">
</p:commandButton>
<p:inputNumber required="true"
value="#{bean.number}">
</p:inputNumber>
您可以在支持 bean 中设置数据库结果,然后将 .show() 调用更改为 oncomplete 属性,这样您就可以根据查询结果有条件地显示模式面板。
public class BackingBean{
private Object dbResult;
public Object getDbResut(){ return dbResult; }
public void executeDbQuery(){
dbResult = yourDbApi.doSomeQuery();
}
}
<p:commandButton id="save_button"
value="Save"
update="@([id*=modalId]) @form"
actionListener="#{bean.executeDbQuery}">
action="#{cc.attrs.saveAction}"
ocomplete="#{not empty bean.dbResult ? 'jQuery('#modalId').show();' : ''}">
</p:commandButton>
<p:inputNumber required="true"
value="#{bean.number}">
</p:inputNumber>
actionListener
在 action
之前执行,因此它保证在您的操作调用之后 oncomplete 将采用正确的 bean.dbResult
我有一个问题,我需要根据输入字段的值显示模态,所以我在输入字段中写了一些值,单击保存按钮,基于我应该 运行数据库查询,如果结果存在则显示模态,否则不显示。什么是最好的方法?
问题是我需要单独的 onclick 和 oncomplete 事件。
<p:commandButton id="save_button"
value="Save"
update="@([id*=modalId]) @form"
onclick="jQuery('#modalId').show();"
action="#{cc.attrs.saveAction}">
</p:commandButton>
<p:inputNumber required="true"
value="#{bean.number}">
</p:inputNumber>
您可以在支持 bean 中设置数据库结果,然后将 .show() 调用更改为 oncomplete 属性,这样您就可以根据查询结果有条件地显示模式面板。
public class BackingBean{
private Object dbResult;
public Object getDbResut(){ return dbResult; }
public void executeDbQuery(){
dbResult = yourDbApi.doSomeQuery();
}
}
<p:commandButton id="save_button"
value="Save"
update="@([id*=modalId]) @form"
actionListener="#{bean.executeDbQuery}">
action="#{cc.attrs.saveAction}"
ocomplete="#{not empty bean.dbResult ? 'jQuery('#modalId').show();' : ''}">
</p:commandButton>
<p:inputNumber required="true"
value="#{bean.number}">
</p:inputNumber>
actionListener
在 action
之前执行,因此它保证在您的操作调用之后 oncomplete 将采用正确的 bean.dbResult