Show or Hide s:decorate based on dropdown
sandeep123.sandeep.mavenir.com May 6, 2009 2:08 PMHi,
I need to hide a field contained within a s:decorate tag based on value selected in dropdown. The code i attempted is as follows - but it does not seem to work as expected, any help is greatly appreciated
The dropdown field:
<s:decorate id="paramDecoration" template="layout/edit.xhtml"> <ui:define name="label">Name</ui:define> <h:selectOneMenu id="ruleset" required="true" style="width:170px;" value="#{ruleElemHome.instance.paramMetadata}"> <s:selectItems value="#{paramMetadataList.resultList}" var ="paramMetadata" label="#{paramMetadata.name}" /> <s:convertEntity/> <a4j:support event="onchange" reRender="valueDecoration" ajaxSingle="true"/> </h:selectOneMenu> </s:decorate> The field that needs to hidden <s:decorate id="valueDecoration" template="layout/edit.xhtml" rendered="#{ruleElemHome.enumField eq 'false'}"> <ui:define name="label">value</ui:define> <h:inputText id="value" size="32" maxlength="32" value="#{ruleElemHome.instance.value}"> <a:support event="onblur" reRender="valueDecoration" bypassUpdates="true" ajaxSingle="true"/> </h:inputText> <h:outputText value="#{ruleElemHome.enumField}" /> </s:decorate> The home class which sets the field called enumField based on which the "value" field is to be hidden private String enumField=null; public void setEnumField(String enumField) { this.enumField = enumField; } public String getEnumField() { if(this.getInstance().getParamMetadata()!=null && this.getInstance().getParamMetadata().getDataType()!=null) { if(this.getInstance().getParamMetadata().getDataType().equalsIgnoreCase("ENUM")) { this.enumField = "true"; } } return this.enumField; }