views:

47

answers:

1

Hi there,

I'm building a small site at the moment and now I'm facing a problem: The customer wants his form element to look "fancy" so we have to hold on the design. I googled jqTransform which fully fits my/his needs. Now: I'm using seam and richfaces to build pages. I have to apply the jqTransform on my forms but I've got several selects which populates other selects this forces a reRender on my form elements which are sadly not in a "fancy" style anymore. Is there a way to get the jquery plugin applied again to my components?

to clarify here is one of my xhtmls

<ui:define name="body">
       <h:form id="nextForm">
        <rich:panel >
            <f:facet name="header">Profil</f:facet>
            <a:outputPanel id="profilPanel">
            <s:decorate id="techTypeField" template="layout/edit.xhtml">
                    <ui:define name="label">Chosse Tech</ui:define>
                       <h:selectOneRadio id="techTypeCheckbox" value="#{Profil.technologyType}" required="true" immediate="true">
                            <s:selectItems value="#{Profil.technologyTypes}" var="elem" label="#{elem.name}" id="typeId"/>
                            <s:convertEntity/>
                            <a:support event="onchange" reRender="profilPanel" ajaxSingle="true"/>
                       </h:selectOneRadio>
                </s:decorate>
              <s:decorate id="productLineField" template="layout/edit.xhtml" rendered="#{Profil.technologyType.productLines.size > 0}">
                    <ui:define name="label">Choose Product</ui:define>
                       <h:selectOneMenu id="productLinesCheckbox" value="#{Profil.productLine}" required="true"  immediate="true" styleClass="dropdown">
                            <s:selectItems value="#{Profil.technologyType.productLines}" var="productLine" label="#{productLine.id.id}" id="productlineId" noSelectionLabel="Choose"/>
                            <s:convertEntity/>
                            <a:support event="onchange" reRender="profilPanel" ajaxSingle="true" />
                       </h:selectOneMenu>
                </s:decorate>
             <s:decorate id="machineField" template="layout/edit.xhtml" rendered="#{Profil.productLine.machines.size > 0}">
                    <ui:define name="label">Choose Machine</ui:define>
                       <h:selectOneMenu id="machinesCheckbox" value="#{Profil.machine}" required="true" styleClass="dropdown">
                            <s:selectItems value="#{Profil.productLine.machines}" var="machine" label="#{machine.machine}" id="machineId" noSelectionLabel="Choose"/>
                            <s:convertEntity/>
                       </h:selectOneMenu>
                </s:decorate>
            </a:outputPanel>
        <div style="clear:both"/>
        </rich:panel>
             <div class="actionButtons">
                <h:commandButton id="next" value="Weiter zu SERVICES"
                        action="#{Profil.next}" styleClass="button_next"/>
            </div>
        </h:form>
</ui:define>
A: 

You can (have to ?) make an ajax call when an option is selected in the first select box, to populate the other one.

See Auto-populating Select Boxes using jQuery & AJAX for an example of how to do this with jQuery.

Samuel_xL