В настоящее время мои флажки добавляются и вычитаются из общей стоимости. Как я могу заставить мой выбор сделать то же самое? В настоящее время он вводит значение по умолчанию 7700,00, если без поля выбора оно равно 0,00. Также заметил, что мое поле выбора нарушает мою функцию флажка, не вычитая номер при снятии флажка.Функция запуска при выборе опции angularJS
Обновлено Fiddle: http://jsfiddle.net/9exaarn2/6/
HTML:
<div ng-app>
<div ng-controller="showCrtl">
<input type="checkbox" name="additionalCoverage" ng-click="cost(150, $event.target.checked)">
<label>Add this coverage $150/YR</label>
<br>
<input type="checkbox" name="additionalCoverage" ng-click="cost(40, $event.target.checked)">
<label>and or this coverage $40/YR</label><br>
<select>
<option disabled selected>Select one...</option>
<option ng-selected="option(200)">add $200/yr</option>
<option ng-selected="option(500)">add $500/yr</option>
</select>
<h1 class="annualCost">TOTAL ANNUAL COST<br>OF HOME WARRANTY</h1>
<span style="color: green; font-size: 45px; line-height: 2;">{{annualCost}}</span>
<br>
</div>
</div>
JS:
function showCrtl($scope) {
$scope.dollarAmmount = 0.00;
$scope.annualCost = "$" + $scope.dollarAmmount + ".00";
$scope.option = function (amt) {
$scope.dollarAmmount = $scope.dollarAmmount + amt;
$scope.annualCost = "$" + $scope.dollarAmmount + ".00";
console.log($scope.dollarAmmount)
};
$scope.cost = function (amt, checked) {
amt *= checked ? 1 : -1;
$scope.dollarAmmount = $scope.dollarAmmount + amt;
$scope.annualCost = "$" + $scope.dollarAmmount + ".00";
console.log($scope.dollarAmmount)
};
}
EDIT: К сожалению, была опечатка в моей скрипкой. Проблема все та же ...
Казалось бы, вы думаете, с мышлением JQuery. Я отправлю jsfiddle через несколько минут, чтобы показать вам угловой способ достижения вашей цели. –
Удивительный! Я буду терпеливо ждать ...: P –
Вы должны прочитать [этот вопрос и ответ] (http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background/ 15012542 # 15012542). Я думаю, это поможет. –