Selects relacionados

45 views
Skip to first unread message

Iober Henrique da Cruz

unread,
Mar 28, 2016, 10:18:43 AM3/28/16
to AngularJS BR
Minha primeira postagem aqui, então peço desculpas caso poste algo de forma inapropriada. 
Obrigado pela compreensão.

Escopo:
Estou usando Angular, node e postgres. Tenho 3 tabelas no postgres, cadastro os clientes, os sistemas e na outra os sistemas contratados de cada cliente.
Estou fazendo uma quarta tela onde eu insiro em uma quarta tabela onde insiro novos dados. Nela tenho 2 selects, a primeira com clientes e a segunda com sistemas.
Ao clicar em clientes, eu gostaria que o select de baixo, automaticamente puxasse apenas os sistemas que tem cadastro na terceira tabela. 
Por exemplo. Cliente A tem o sistema 1 e 2, cliente B tem o sistema 3. Ao selecionar o cliente B eu quero que o select abaixo puxe apenas o sistema 3. 

Então minha dúvida é a seguinte, tenho como fazer isso usando apenas angular? (eu particularmente acho que não) Comecei a estudar a pouco tempo e realmente estou perdido nisso. 
Ou se eu preciso fazer um select pra isso, como seria ng-click="" > vai pro controller > faz o select, mas como eu retornaria o resultado pro select abaixo?

att.

Jean Gomes Pereira

unread,
Mar 28, 2016, 10:22:02 AM3/28/16
to AngularJS BR
No ng-change do primeiro select, seu backend vai trazer um json, que vai compor o ng-options do seu segundo select.

Iober Henrique da Cruz

unread,
Mar 28, 2016, 10:34:22 AM3/28/16
to AngularJS BR
vou tentar aqui, não conhecia esse ng-change... logo mais posto se consegui.

Gustavo Cruz

unread,
Mar 28, 2016, 10:40:37 AM3/28/16
to angula...@googlegroups.com
Dá pra fazer com $scope.watch também.

--
Você recebeu essa mensagem porque está inscrito no grupo "AngularJS BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para angularjs-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Jean Gomes Pereira

unread,
Mar 28, 2016, 10:49:56 AM3/28/16
to AngularJS BR
Já fiz com $scope.watch também, é uma boa.


On Monday, March 28, 2016 at 11:18:43 AM UTC-3, Iober Henrique da Cruz wrote:

Iober Henrique da Cruz

unread,
Mar 28, 2016, 2:49:12 PM3/28/16
to AngularJS BR
Pessoal. Muito obrigado pela ajuda.
Consegui utilizando ng-change, foi um pouco mais complicado que pensei que fosse e não sei se é a forma mais adequada, mas para um primeiro momento está ótimo. 
Tentei usar o watch mas não compreendi muito bem o conceito.
Valeu mesmo. 
té mais.

Gustavo Cruz

unread,
Mar 29, 2016, 9:42:29 AM3/29/16
to angula...@googlegroups.com
@Iober,

O watch serve para "observar" qualquer variável no angular. É o mesmo conceito de eventos, ou seja, você atacha um evento a uma variável e sempre que ela mudar, uma função é chamada. A diferença é que serve para qualquer variável, inclusive arrays, objetos, etc.

Ex.:

function MyController($scope) {

    $scope.Model = 'Gustavo';

    $scope.$watch('Model', function(newValue, oldValue) {
        console.log(newValue);
        console.log(oldValue);
    });

    $scope.buttonClicked = function() {
        $scope.Model = 'Iober'; // Neste momento será disparado a função de $watch acima
    };
}


--

Iober Henrique da Cruz

unread,
Mar 30, 2016, 7:52:03 AM3/30/16
to AngularJS BR
Opa! Obrigado pela explicação gustavo, vou tentar implementar no meu "sisteminha" assim que terminar outras funcionalidades que ainda não funcionam.
Reply all
Reply to author
Forward
0 new messages