2016-03-31 26 views
0

Geçiş düğmesine basmalıyım ... bir kez tıklattığınızda, düğmeye tekrar tıklarsanız ve "seçimini kaldırırsanız", bu tutarı çıkarırsa toplam fiyata para ekleyecektir. Toplamdan.Değişken ekleme/çıkarma işlevi Angularjs

Ben ekleyerek ve arka plan seçilen düğmenin rengini değiştirmek için bir sınıf kaldırıyor bu HTML bilgisi -

<div class="col-md-4" ng-repeat="service in services_data track by $index"> 
     <div ng-class="showDetails[$index] ? 'panel-warning': 'panel-default'" class="panel"> 
     <button ng-click="$parent.showDetails[$index] = !$parent.showDetails[$index]; price(service.price, service.est_time_mins)" class="panel-heading btn"><span class="pull-left badge">$ {{service.price}}</span>{{service.name}}</button> 
     <div class="panel-body"> 
     {{service.est_time_mins}} mins. {{service.style}} 
     </div> 
     </div> 
    </div> 

ve bu kontrolör - Muhtemelen

app.controller('AppointmentController', ['$scope','services', function($scope, services) { 
var data = {}; 
data.fn = 'services'; 
services.getData(data).success(function(return_data){ 
    console.log(return_data); 
    $scope.services_data = return_data; 
}); 
var data = {}; 
data.fn = 'get_barbers'; 
services.getData(data).success(function(rd){ 
    $scope.barbers = rd; 
    console.log(rd); 
}); 
$scope.total_price = 0; 
$scope.time = 0; 
$scope.price = function(price, time){ 
    $scope.total_price = parseInt(price) + parseInt($scope.total_price); 
    $scope.time = parseInt(time) + parseInt($scope.time); 
} 
}]); 

oldukça kolay ama yapamam Başım ağrıyor. Teşekkürler.

cevap

0

kullanın bir boolean bayrak:

$scope.selected = false; 
$scope.add = function(price) { 
    //If item is currently selected, subtract price 
    if ($scope.selected) $scope.total_price -= price; 
    //If item is currently NOT selected, add price 
    else $scope.total_price += price; 
    $scope.selected = !$scope.selected; 
}; 
İlgili konular