2013-04-24 4 views
0

명령 단추와 선택 항목 메뉴가 있습니다. CommandButton 동작 메서드가 실행되기 전에 selectedTaxType을 설정하려고합니다. 나는 "action"을 "oncomplete"로 바꿨지 만, 이번에는 얼어 버렸다. 어떤 해결책?명령 단추 작업을 실행하기 전에 selectonemenu에서 선택한 항목을 설정하는 방법

<p:commandButton value="Submit" 
    action="Controller.addSelectionToDatabase"         
    update="table"         
    immediate="true" 
/> 

<p:selectOneMenu id="selectTaxTypeId" value="#{Controller.selectedTaxType}" converter="taxTypeCodeSelectItemsConverter">       
       <f:selectItems value="#{Controller.taxTypeList}" var="taxType" 
           itemLabel="#{taxType.shortName}" 
           itemValue="#{taxType}" /> 
      </p:selectOneMenu> 
+0

당신은 P <즉각적인 = "true"로 설정하고 과정 = "selectTaxTypeId"를 제거 :있는 명령. –

+0

"명령 단추 동작 방법이 실행되기 전에 selectedTaxType을 설정하십시오.", jsf를 사용하면 항상 참입니다. –

+0

@RongNK immediate = "true"를 삭제하고 process = "selectTaxTypeId"를 설정 했으므로 지금 버튼을 클릭 할 때 아무런 반응이 없습니다. –

답변

0

원하는 것을 업데이트하는 valueChange에 ajax 이벤트를 추가하십시오.

예 :

<p:selectOneMenu id="selectTaxTypeId" value="#{Controller.selectedTaxType}" converter="taxTypeCodeSelectItemsConverter">       
        <f:selectItems value="#{Controller.taxTypeList}" var="taxType" 
            itemLabel="#{taxType.shortName}" 
            itemValue="#{taxType}" /> 
        <p:ajax event="valueChange" update="@form" /> 
    </p:selectOneMenu> 
+1

'valueChange'는'

'에 대한 유효한 이벤트가 아니며 대신'change'를 원합니다. 'update = "@ form"'도 필요 없습니다. 또한 backing 빈이'@ ViewScope'에 없으면 모든 작업이 실패 할 것이라고 OP에게 조언해야합니다. – kolossus

관련 문제