Jsf 如何不显示选择“p:对话框”;选择一个";选择PrimeFaces中的项目
我有一个p:selectOne菜单,在这个值列表中,第一个值是“selectone”,其他值是从db中获取的实际值 当用户选择其他值时,将显示一个对话框并获取相应的值,但是,如果用户选择“选择一个”,则也将显示该对话框。在这里,当用户从下拉列表中选择“选择一个”时,我不想显示对话框 Xhtml代码:Jsf 如何不显示选择“p:对话框”;选择一个";选择PrimeFaces中的项目,jsf,primefaces,jsf-2,Jsf,Primefaces,Jsf 2,我有一个p:selectOne菜单,在这个值列表中,第一个值是“selectone”,其他值是从db中获取的实际值 当用户选择其他值时,将显示一个对话框并获取相应的值,但是,如果用户选择“选择一个”,则也将显示该对话框。在这里,当用户从下拉列表中选择“选择一个”时,我不想显示对话框 Xhtml代码: <p:selectOneMenu id="drp_modify" value="#{BackingBean.Name}" panelStyle="width:180px"
<p:selectOneMenu id="drp_modify"
value="#{BackingBean.Name}" panelStyle="width:180px"
effect="fade" style="width:180px" filter="true"
filterMatchMode="startsWith" onchange="PF('dlg_modify').show();"
title="Add">
<p:ajax listener="#{BackingBean.onNameChange}"
update="Name_ID, address" />
<f:selectItem itemLabel="Select One" itemValue="" noSelectionOption="true" />
<f:selectItems value="#{BackingBean.nameItemList}" />
</p:selectOneMenu>
<p:dialog header="Modify" widgetVar="dlg_modify" resizable="false">
//// some code
</p:dialog>
////一些代码
您可以使用JavaScript检查组合框的当前值
代替onchange=“PF('dlg_modify').show();”
您可以编写:
onchange="if(document.getElementById('yourFormId:drp_modify_input').value != '') PF('dlg_modify').show();"
其中,
yourFormId
是表单的ID,条件是作为f:selectItem
中的itemValue
参数给定的值。在您的情况下,它是”
@Neerajkumar,即使您设置了表单的id?奇怪,对我来说它工作得很好