2012-11-12 4 views
1

jsf selectOneMenu에서 선택한 값을 기반으로 워터 마크 메시지를 동적으로 업데이트하려고합니다. 워터 마크 구성 요소에 사용되는 ID는 "waterMark1"입니다. 워터 마크 구성 요소가 입력 텍스트 필드에 연결되어 있습니다. valueChange에서 waterMarkID1 id를 찾을 수 없다는 오류 메시지가 나타납니다. selectOneMenu 선택에 따라 outputText를 업데이트하고 ID를 WatermarkID1.It이 outputText와 잘 작동하도록 유지했습니다.primefaces 워터 마크 메시지를 동적으로 업데이트합니다.

빈 값을 기반으로 워터 마크 메시지를 표시 할 수있는 방법이 있습니까? 모든 도움을 주시면 감사하겠습니다.

<h:selectOneMenu value="#{RequestBean.searchonType}" valueChangeListener="# {RequestBean.getValidateMsg}" id="searchUser"> 
           <f:selectItems value="#{RequestBean.searchonTypeList}" /> 
           <f:ajax event="change" update="waterMarkID1" render="waterMarkID1"/> 
          </h:selectOneMenu> 


          <h:inputText id="searchTxt" styleClass="text_small" size="50" value="#{RequestBean.searchTxt}"/> 

          <p:watermark id="waterMarkID1" for="searchTxt" value="#{RequestBean.waterMarkID}"/> 
+0

워터 마크 구성 요소가 양식에 있습니까? 그렇다면 id에 접두사':

: waterMarkID1' 또는 이와 유사한 접두어를 붙이십시오. 또한 Firebug (또는 유사)에서 실제 생성 된 ID를 보거나 브라우저의 "소스보기"를 사용하면 도움이 될 것입니다. – Magnilex

답변

1

당신이 직접 p:watermark 구성 요소를 업데이트 할 수 없습니다 것으로 보인다. 당신은 단지 h:inputTextp:watermark에, 예를 들어, p:panel으로 둘러싸인 요소를 줄일 수 있습니다

<p:panel id="panel1"> 
    <h:selectOneMenu value="#{RequestBean.searchonType}" valueChangeListener="# {RequestBean.getValidateMsg}" id="searchUser"> 
     <f:selectItems value="#{RequestBean.searchonTypeList}" /> 
     <f:ajax event="change" render="panel1"/> 
    </h:selectOneMenu> 


    <h:inputText id="searchTxt" styleClass="text_small" size="50" value="#{RequestBean.searchTxt}"/> 
    <p:watermark id="waterMarkID1" for="searchTxt" value="#{RequestBean.waterMarkID}"/> 
</panel> 

참고 : 그러나, 컨테이너를 업데이트하는 구성 요소가 너무 워터 마크 메시지를 업데이트 할 것을 보유하고있다. 핵심은 워터 마크 구성 요소가 아닌 컨테이너를 업데이트하는 것입니다.

+0

감사합니다 akoskm, 그것은 매력처럼 작동합니다 ... –