Javascript 如何使用AngularJS填充复选框值列表?

Javascript 如何使用AngularJS填充复选框值列表?,javascript,arrays,angularjs,checkbox,angularjs-ng-repeat,Javascript,Arrays,Angularjs,Checkbox,Angularjs Ng Repeat,我正在尝试用angular js和服务器端构建一个测验应用程序,我有两种选择: 一个问题的多个选项(输入复选框)“数据类型”:3, 单一选择权 有一个问题(输入收音机)“数据类型”:2, 我试图为多个复选框问题填充存储的答案。在本例中,storedAnswer是一个数组,而storedAnswer是输入无线电的整数值 注意:storedAnswer数组包含选项。问题选择值 我的问题是如何将数组值填充为选中的多选(checkbox)问题: 这是我的HTML代码: <div ng-repeat

我正在尝试用angular js和服务器端构建一个测验应用程序,我有两种选择:

  • 一个问题的多个选项
    (输入复选框)
    <代码>“数据类型”:3,
  • 单一选择权 有一个问题<代码>(输入收音机)“数据类型”:2,
  • 我试图为多个
    复选框
    问题填充存储的答案。在本例中,
    storedAnswer
    是一个数组,而
    storedAnswer
    输入无线电的整数值

    注意:
    storedAnswer
    数组包含
    选项。问题选择值

    我的问题是如何将数组值填充为选中的多选(
    checkbox
    )问题:

    这是我的HTML代码:

    <div ng-repeat="question in data.questionData">
    
        <span name="multiSelectCheckBox" ng-if="question.dataType == 3">
            <div ng-repeat="option in question.choices " class="">
                <label for="mul_{{option.questionChoiceValue}}_ques{{option.questionId}}">
                    <span ng-repeat="stAns in question.storedAnswer"
                          ng-if="stAns == option.questionChoiceValue">
                        <input id="mul_{{option.questionChoiceValue}}_ques{{option.questionId}}" 
                            type="checkbox"
                            ng-model="question.storedAnswer"
                            ng-change="onSelect(question, option);" /> 
                          {{option.questionChoiceText}}
                    </span>
                </label>
            </div>
        </span>
    
        <span name="multiSelectRadio" ng-if="question.dataType == 2">
            <div ng-repeat="option in question.choices  " class="">
                <label for="sin_{{option.questionChoiceValue}}_ques{{option.questionId}}">
    
                    <input type="radio" id="sin_{{option.questionChoiceValue}}_ques{{option.questionId}}" 
                        ng-model="question.storedAnswer" 
                        value="{{option.questionChoiceValue | number}}"
                        name="que_ques{{option.questionId}}"
                        ng-change="onSelect(question, option);" />
                      {{option.questionChoiceText}}                 
                </label>
            </div>
        </span>
    </div>
    

    我认为你的收音机应该使用ng checked而不是ng型号。像这样:

    <input type="radio" id="sin_{{option.questionChoiceValue}}_ques{{option.questionId}}"
           ng-checked="question.storedAnswer"
           value="{{option.questionChoiceValue | number}}"
           name="que_ques{{option.questionId}}"
           ng-change="onSelect(question, option);" /> 
    
    
    
    收音机工作正常,我对复选框有问题,因为storedAnswer是一个阵列。您想知道如何根据storedAnswers阵列在初始化时将收音机标记为选中?为了工作,
    ng change
    指令需要
    ng model
    指令,而
    ng checked
    指令与
    ng model
    指令不兼容。
    <input type="radio" id="sin_{{option.questionChoiceValue}}_ques{{option.questionId}}"
           ng-checked="question.storedAnswer"
           value="{{option.questionChoiceValue | number}}"
           name="que_ques{{option.questionId}}"
           ng-change="onSelect(question, option);" />