计算特定检查值在 AngularJS 中出现的次数

Counting how many times a specific checked value occurs in AngularJS

我有一些输入单选按钮可以具有以下值:"A"、"B"、"C"、"D"、"E" 和 "F"

我想统计每个值被检查了多少次。

我不确定如何在 AngularJS 中执行此操作,但我尝试像这样使用 jQuery $("#test").find("input:checked").val(); 但我只从第一个输入中获取值。

这是我的代码:

HTML

<div ng-controller="QuizController as quiz" class="form-group row">
    <div id="test" class="col-md-2 col-md-offset-5">
        <form ng-repeat="question in quiz.questions" role="form" class="form-orizontal" novalidate>
            <label>
                <input type="radio" value="{{question.Value1}}" name="{{question.Index}}">
                {{question.Question1}}
            </label>
            <br />
            <label>
                <input type="radio" value="{{question.Value2}}" name="{{question.Index}}">
                {{question.Question2}}
            </label>
            <hr>
        </form>
        <button class="btn btn-default" type="submit">Arată-mi profilul meu</button>
    </div>
</div>

JS

(function(){
    var app = angular.module('MotivationalApp', []);

    app.controller('QuizController', function(){
        this.questions = quiz
    });

    var quiz = [{
        Index: 1,
        Question1: "I'm a developer",
        Value1: "A",
        Question2: "I'm a tester",
        Value2: "B",
    },
    {
        Index: 2,
        Question1: "I'm happy",
        Value1: "C",
        Question2: "I'm sad",
        Value2: "D",
    }]
})();

任何人都可以为此提供一些帮助。非常感谢任何提示

你可以换一种方式

<input type="radio" ng-model="checkedItems.value1" value="{{question.Value1}}" name="{{question.Index}}">
...

ng-模型="checkedItems.value1"

并且在控制器中,您可以循环思考这个对象 (checkedItems) 并计算检查了多少项目

for(var key in $scope.checkedItems){
    var value = $scope.checkedItems[key];
    ...
}