Filtrar campo zoom a partir do valor de outro campo

Conforme imagem abaixo, preciso que, ao ser selecionado a empresa, outros campos zoom como filial, seção e função, sejam filtrados/mostrados, de acordo com a empresa selecionada, eu tenho um dataset para cada cada campo (ds_empressa, ds_filial, ds_secao e ds_funcao), porém não estou conseguindo fazer isso e não encontrei um exemplo aqui que me atende, olhei a documentação, mas não consegui resolver, alguém poderia me ajudar?

1.JPG

<div class="row">

                <div class="form-group col-md-6">
                    <label for="empresa">Empresa:</label>
                    <input
                        type="zoom"
                        id = "empresa"
                        name="empresa"
                        data-zoom="{
                            'displayKey':'Nome',
                            'datasetId':'ds_Consulta_Coligada',
                            'maximumSelectionLength':'1',
                            'placeholder':'Escolha a Empresa',
                            'fields':[
                                {
                                  'field':'CodColigada',
                                  'label':'Codigo',
                                  'standard':'true'
                                },{
                                  'field':'Nome',
                                  'label':'Nome',
                                  'standard':'true'
                                }
                            ]
                         }"
                    />                    

                </div>

                <div class="form-group col-md-6">
                    <label for="Filial">Filial:</label>
                    <input
                        type="zoom"
                        id = "filial"
                        name="filial"
                        data-zoom="{
                            'displayKey':'Nomefantasia',
                            'datasetId':'ds_Consulta_Filial',
                            'maximumSelectionLength':'1',
                            'placeholder':'Escolha a Filial',
                            'fields':[
                                {
                                  'field':'Codfilial',
                                  'label':'CodFilial',
                                  'standard':'true'
                                },{
                                  'field':'Nomefantasia',
                                  'label':'Nome',
                                  'standard':'true'
                                }
                            ]
                         }"
                    />                
                </div>            

            </div>

            <div class="row">
                <div class="form-group col-md-6">
                    <label for="gestor">Nome do Gestor:</label>
                    <input
                        type="zoom"
                        id = "gestor"
                        name="gestor"
                        data-zoom="{
                            'displayKey':'colleagueName',
                            'datasetId':'colleague',
                            'maximumSelectionLength':'1',
                            'placeholder':'Escolha o Gestor',
                            'fields':[
                                {
                                  'field':'colleagueName',
                                  'label':'Nome',
                                  'standard':'true'
                                }
                            ]
                         }"
                    />
                </div>

                <div class="form-group col-md-6">
                    <label for="avaliado">Nome do Avaliado:</label>
                    <input
                        type="zoom"
                        id = "avaliado"
                        name="avaliado"
                        data-zoom="{
                            'displayKey':'colleagueName',
                            'datasetId':'colleague',
                            'maximumSelectionLength':'1',
                            'placeholder':'Escolha o Avaliado',
                            'fields':[
                                {
                                  'field':'colleagueName',
                                  'label':'Nome',
                                  'standard':'true'
                                }
                            ]
                         }"
                    />
                </div>

            </div>

            <div class="row">    

                <div class="form-group col-md-6">
                    <label for="secao">Seção do Avaliado:</label>

                    <select class="form-control" name="secao" id="secao" dataset="ds_Consulta_Secao" datasetkey="descricao" datasetvalue="descricao"></select>

                </div>

                <div class="form-group col-md-6">
                    <label for="funcao">Função do Avaliado:</label>
                    <!--  <select class="form-control" name="funcao" id="funcao" dataset="ds_Consulta_Funcao" datasetkey="nome" datasetvalue="nome"></select> -->
                    <input type="text" name="funcao" id="funcao" class="form-control">
                </div>

            </div>
<script>
function setSelectedZoomItem(selectObject) {
    var obj = selectObject['inputId'];
    if (obj == 'empresa') {
        reloadZoomFilterValues("filial", "CodFilial," + selectObject["CodColigada"]);
    }

}
</script>
compartilhar
  • O seu dataset ds_filial trata a constraint/filtro chamada "CodFilial" dentro do código dele?

    Diogo Boegershausen   17 de Jan de 2019
  • Sim, está tratando, estou usando o exemplo do site api.totvs.com.br, só modifiquei o código do dataserver para atender o que preciso.

    Marcilio Eloi da Silva   17 de Jan de 2019
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags formulario zoom form ou faça a sua própria pergunta.