Salve a tutti. Sto facendo un piccolo software per apprendere AngularJS e ho creato una lista clienti tramite ng-repeat. All'interno della lista vorrei dare la possibilità di selezionare una tipologia di sconto tramite una select (che mostrerà per tutti 4 opzioni). Quando inserisco una tipologia vorrei far apparire un contatore che mi mostri a quanti clienti è stata selezionata quella tipologia di sconto. Vi mostro il codice:
Questo l'html
e qui il controller
Se ad esempio seleziono per 2 clienti il tipo 20%, vorrei avere una stringa che mi riporti appunto il contatore relativo (quindi che mostri 2). Questo per tutte le tipologie. Non so se questo è possibile in AngularJS, in caso contrario potreste dirmi come fare?
Ho provato a conteggiare ad esempio la tipologia 20%, ma ovviamente mi mostra sempre 1 perché credo prenda gli elementi dallo scope, mentre io vorrei contare le tipologie realmente selezionate.
GRazie mille per l'aiuto
Questo l'html
HTML:
<div ng-app="myApp" ng-controller="myCtrl">
<table id="tabella">
<tr class="heading">
<td>Nome</td>
<td>Ditta</td>
<td>Tipologia</td>
</tr>
<tr ng-repeat="cliente in lista | orderBy: myOrderBy as results">
<td>{{cliente.nome}}</td>
<td>{{cliente.ditta}}</td>
<td><select><option value="sconto" ng-repeat="sconto in tipologieSconti">{{sconto.tipo}}</option></select></td>
</tr>
</table>
</div>
e qui il controller
Codice:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http.get("clienti_mysql.php")
.then(function (response) {
$scope.lista = response.data.records;
$scope.tipologieSconti = [
{tipo: "10%"},
{tipo: "20%"},
{tipo: "50%"},
{tipo: "75%"}
];
});
});
Se ad esempio seleziono per 2 clienti il tipo 20%, vorrei avere una stringa che mi riporti appunto il contatore relativo (quindi che mostri 2). Questo per tutte le tipologie. Non so se questo è possibile in AngularJS, in caso contrario potreste dirmi come fare?
Ho provato a conteggiare ad esempio la tipologia 20%, ma ovviamente mi mostra sempre 1 perché credo prenda gli elementi dallo scope, mentre io vorrei contare le tipologie realmente selezionate.
Codice:
$scope.myFunction = function(){
var contatore = 0;
for(var i = 0; i < $scope.tipologieSconti.length; i++){
var x = $scope.tipologieSconti[i];
if(x.tipo== '20%')
contatore++;
}
return contatore;
}
GRazie mille per l'aiuto