计算AngularJS

时间:2015-09-12 11:42:38

标签: javascript jquery angularjs input radio-button

我有一些输入单选按钮,可以具有以下值:“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",
    }]
})();

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

1 个答案:

答案 0 :(得分:1)

你可以用另一种方式做到这一点

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

<强> NG-模型=&#34; checkedItems.value1&#34;

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

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