2017-03-31 1 views
0

캘린더 팝업에서 날짜를 클릭하거나 텍스트 입력 필드에서 직접 편집하여 내 p:calendar을 작동 시키길 원합니다.ajax "valueChange"이벤트시 Primeface Calendar가 올바르게 업데이트되지 않습니다.

이 잘 작동 :

 <p:calendar value="#{myBackingBean.date}"> 
      <p:ajax event="valueChange" listener="#{myBackingBean.updateDate()}" /> 
      <p:ajax event="dateSelect" listener="#{myBackingBean.selectDate()}" /> 
     </p:calendar> 

그러나, 최대한 빨리 (아래 참조) 날짜에 키보드에 의해 편집 할 때, 새로운 날짜가 더 이상 ("valueChange"이벤트를 설정하는 컨버터를 추가로

 <p:calendar value="#{myBackingBean.date}"> 
      <f:converter converterId="myLocalDateConverter"/> 
      <p:ajax event="valueChange" listener="#{myBackingBean.updateDate()}" /> 
      <p:ajax event="dateSelect" listener="#{myBackingBean.selectDate()}" /> 
     </p:calendar> 

어떻게 할 수 있습니다 새로운 날짜가 올바르게 변환되지만 백업 콩에 설정된 날짜가 이전 값이 아닌 내가 텍스트 필드에서 편집 새 임에도 불구하고 텍스트 필드) 함께 일하게?

+1

primeface에서 calendar 속성은 converter 특성을가집니다. 이 속성을 사용하여 변환기 ID를 전달하십시오. –

답변

0

문제의 원인을 찾았습니다 : 변환기가 입력 필드에서 텍스트를 올바르게 받아 들일 수 없습니다. 분명히 표준 JSF 라이프 사이클이 중단되고 새로운 값 대신 이전 값이 설정됩니다. 올바른 형식의 입력을 사용하면 모든 것이 예상대로 작동합니다.

관련 문제