2011-07-21 121 views
2
<f:view> 
<h:form> 
    <h:panelGrid> 
    <f:facet name="header"> 
    <h:outputText value="Create Order"/> 
    </f:facet> 
    <h:column> 
    <h:outputText value="Customer Number : "></h:outputText> 
    <h:inputText value="#{SalesCreate.orderBean.customerNumber}"/> 
    </h:column> 
    <h:column> 
    <h:outputText value="Create With : "></h:outputText> 
    <h:selectOneMenu id="createWith" value="#{SalesCreate.orderBean.createWith}"> 
     <f:selectItem itemLabel="Without Reference" itemValue="noRef"/> 
     <f:selectItem itemLabel="Reference" itemValue="ref"/>        
    </h:selectOneMenu> 
    </h:column>   
    <h:column> 
    <h:outputText value="Reference By : "></h:outputText> 
     <h:selectOneMenu id="refBy" value="#{SalesCreate.orderBean.referenceBy}"> 
     <f:selectItem itemLabel="Quotation" itemValue="quotation"/> 
     <f:selectItem itemLabel="Contract" itemValue="contract"/> 
     </h:selectOneMenu> 
    </h:column> 
    <h:column> 
    <h:outputText value="Inquiry Reference Number : "></h:outputText> 
     <h:inputText id="docNum" value="#{SalesCreate.orderBean.referenceNum}"/> 
     <h:commandButton value="..." onclick="javascript:popUp('OpenRef.jsp',this)">       
     </h:commandButton> 
     <h:commandButton value="Load" action="#{SalesCreate.getQuotationListFromDb}">     </h:commandButton>       
    </h:column>   
    </h:panelGrid> 
    </h:form> 
</f:view> 

以上就是我的JSP包含selectOneMenu獲得的價值,我想只有當用戶在之前的字段選擇withReference,使現場referenceBy。同樣取決於referenceBy的值,彈出窗口中的值應該不同,即,id用戶選擇referenceBy作爲quotation,彈出窗口中的值應該與quotation有關。 彈出式JSP包含一個包含數據庫值的數據表。從selectOneMenu用於JSF

回答

2

使用<f:ajax>重新渲染與新的JSF 2.0 AJAX的力量幫助的第一個下拉菜單的變化第二個下拉和使用disabled屬性禁用第二個下拉時,第一個下拉的值不是ref

<h:selectOneMenu id="createWith" value="#{SalesCreate.orderBean.createWith}"> 
    <f:selectItem itemLabel="Without Reference" itemValue="noRef"/> 
    <f:selectItem itemLabel="Reference" itemValue="ref"/> 
    <f:ajax render="refBy" /> 
</h:selectOneMenu> 
... 
<h:selectOneMenu id="refBy" value="#{SalesCreate.orderBean.referenceBy}" disabled="#{SalesCreate.orderBean.createWith != 'ref'}"> 
    <f:selectItem itemLabel="Quotation" itemValue="quotation"/> 
    <f:selectItem itemLabel="Contract" itemValue="contract"/> 
</h:selectOneMenu> 
+0

謝謝你的回覆......但你也可以幫我把第二個下拉的值傳遞給彈出 – Mango