2017-09-11 20 views
0

은 내가 체크 박스를 클릭 등의 형태로 모든 필드를 갱신하려고 :양식의 모든 입력란을 새로 고치는 방법은 무엇입니까?

  <h:selectBooleanCheckbox id="#{id}" 
       styleClass="checkbox" 
       value="#{value}" 
       required="#{required}" 
       disabled="#{not empty readonly and readonly ? true : disabled}"     
       onclick="showLoading();" > 
       <a4j:support event="onchange" reRender="pessoaDocumentoIdentificacaoForm" oncomplete="hideLoading();" /> 
      </h:selectBooleanCheckbox> 

문제는 pessoaDocumentoIdentificacaoForm입니다, 그것은 제이보스 심합니다.

을 :이 양식의 모든 필드는 ... 값 tipoDocumento 에서 언급이 제외

<components xmlns="http://jboss.com/products/seam/components" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd 
     http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd 
     http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd"> 

<component name="pessoaDocumentoForm" class="br.com.itx.component.Form"> 
      <property name="formId">pessoaDocumentoIdentificacao</property> 
      <property name="fields"> 
      <value>nome:{required:true,type: inputTextDocumentoIdentificacao, properties : {rendered: #{not justicaTrabalho},label: 'Nome registrado neste documento'}}</value> 
       <value>tipoDocumento:{type: comboPessoaTipoDocumento, required: true, 
         properties:{items: #{preCadastroPessoaBean.isPermiteEdicaoDocumentosPrincipais() ? 'tipoDocumentoIdentificacaoItems' : 'tipoDocumentoIdentificacaoSemDocumentosPrincipaisItems'}}}</value>   
       <value>usadoFalsamente: {required: false, type: sim_nao, properties: {rendered: #{not justicaTrabalho}}}</value>   
       <value>documentoPrincipal: {type: checkBoxDocumentoPrincipal, properties: {rendered: #{not justicaTrabalho}}}</value> 
       <value>ativo: {required: true, type: radioSituacao}</value>  
      </property> 
      <property name="buttons">gravarDocumentoPessoa</property> 
     </component> 
    </components> 

... A4J 새로 고칠 수없는 결정 (isPermiteEdicao) 다음 필드로 리디렉션의 진정한 조건을 새로 고칠

<component name="tipoDocumentoIdentificacaoItems" class="br.com.itx.component.SelectItemsQuery"> 
    <property name="ejbql">select o from TipoDocumentoIdentificacao o</property> 

    <property name="restrictions"> 
     <value>o.tipoPessoa = #{pessoaDocumentoIdentificacaoHome.instance.pessoa.inTipoPessoa}</value> 
     <value>o.tipoPessoa = #{pessoaHome.instance.inTipoPessoa}</value> 
    </property> 
    <property name="order">tipoDocumento</property> 

여기에 우리가 결과를 볼 수 아래 : I posted here images to clarify results.

답변

0

잡았다을! 아래 그림과 같이

this issue 다음, 나는 나의 방법에 AjaxSingle="true" 추가 :

<a:support event="onchange" reRender="pessoaDocumentoIdentificacaoForm" oncomplete="hideLoading();" ajaxSingle="true" />