Não consigo chamar uma função com ng-click (AngularJS)
03/11/2015
0
Pessoal, estou aprendendo AngularJS e tenho um problema que não consigo solucionar.
Tenho uma função dentro de um controller que está dentro de um módulo.
Essa função é responsável por montar um elemento accordion com vários itens:
Mas no trecho:
O ng-click não funciona. Acredito que seja algum problema no escopo, ou onde insiro essa função salvaPrecoDiferenciado().
Declarei a função no mesmo controller:
alert(id);
}[/code]
e não funcionou. Alguém pode me ajudar?
Tenho uma função dentro de um controller que está dentro de um módulo.
Essa função é responsável por montar um elemento accordion com vários itens:
$scope.montaAccordion = function(dados){ var elemento = ""; for(var i=0; i < dados.length; i++){ elemento += "<div class='accordion-group' indice='collapse"+dados[i].AtributoVariacao.id+"'>"; elemento += "<div class='accordion-heading'>"; elemento += "<a class='accordion-toggle' data-toggle='collapse' data-parent='#sidebar-accordion' href='#collapse"+dados[i].AtributoVariacao.id+"'>"; elemento += "<i class='icon-reorder'></i>"+dados[i].Variacao.variacao+":: "+dados[i].AtributoVariacao.atributo; elemento += "</a>"; elemento += "</div>"; elemento += "<a href='#' class='bt-del-atributo' style='float:right; margin: -33px 7px 0 0;'>"; elemento += "<i class='fa fa-times fa-2x'></i>"; elemento += "</a>"; elemento += "<div id='collapse"+dados[i].AtributoVariacao.id+"' class='accordion-body collapse'>"; elemento += "<div class='accordion-inner'>"; elemento += "<div class='control-group' data-fieldname='preco-diferenciado' style='padding:0;'>"; elemento += "<div class='controls'>"; elemento += "<label class='control-label'>Esta variação possui um preço diferenciado?</label>"; elemento += "<input type='text' name='preco-diferenciado-"+dados[i].AtributoVariacao.id+"' class='span12' value='' placeholder=''>"; elemento += "</div><br />"; elemento += "<button type='button' class='btn btn-info' ng-click='salvaPrecoDiferenciado("+dados[i].AtributoVariacao.id+")'>Salvar</button>"; elemento += "</div>"; elemento += "</div>"; elemento += "</div>"; elemento +="</div>"; } $('#sidebar-accordion').html(elemento); }
Mas no trecho:
elemento += "<button type='button' class='btn btn-info' ng-click='salvaPrecoDiferenciado("+dados[i].AtributoVariacao.id+")'>Salvar</button>";
O ng-click não funciona. Acredito que seja algum problema no escopo, ou onde insiro essa função salvaPrecoDiferenciado().
Declarei a função no mesmo controller:
$scope.salvaPrecoDiferenciado = function(id){
alert(id);
}[/code]
e não funcionou. Alguém pode me ajudar?
Michel Martins
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)