I wanna achieve one function using AngularJs, like this
,
each time click one of ingredient the selected list have changed and add one more ingredient and show the number, if repeat to click one ingredient just change the amount of this ingredient
here is my html
<div ng-app="myApp" ng-controller="addIngredientCtrl">
<div class="ingredient-list">
<h4>INGREDIENT:</h4>
<ul ng-repeat="items in item.recipe.IngredientMapping">
<li class="ingredient-list-style">
<img src="http://164.132.196.117/chop_dev/api/AngularJs/images/plus.png" class="plus-size" ng-click="addIngredient(items.Ingredient.name)">
{{items.quantity}} {{items.Unit.name}} {{items.Ingredient.name}}
</li>
</ul>
</div>
<div class="selected-list-box">
<div class="selected-list">
<h4>Selected List</h4>
<div>
<ul ng-repeat="selectedItem in selectedItem track by $index">
<li>
{{selectedItem}}
<li ng-repeat="(c, n) in results"> {{c}} shows {{n}} times</li>
</li>
</ul>
</div>
</div>
</div>
here is my js
myApp.controller('addIngredientCtrl', function($scope) {
$scope.selectedItem=Array();
$scope.addIngredient= function(param){
$scope.selectedItem.push(param);
console.log($scope.selectedItem);
$scope.results = {};
for (var i = 0; i < $scope.selectedItem.length; i++) {
var selected = $scope.$scope.selectedItem[i];
if(selected) {
if ($scope.results.hasOwnProperty(selected)) {
$scope.results[selected]++;
} else {
$scope.results[selected] = 1;
}
}
}