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,它是 JBoss 接缝。此表单中的所有字段都已刷新,除了在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>

...该决定的真正条件(isPermiteEdicao)重定向到 a4j 无法刷新的这些字段:

<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>

下面我们可以看到结果: 我在这里张贴图片以澄清结果。

4

1 回答 1

0

明白了!

这个问题之后,我添加AjaxSingle="true"到我的方法中,如下所示:

<a:support event="onchange" reRender="pessoaDocumentoIdentificacaoForm" oncomplete="hideLoading();" ajaxSingle="true" />
于 2017-09-12T15:53:52.977 回答