我有一个问卷表单,它循环遍历问题和问题中的答案,然后创建带有答案的单选按钮。 answer 对象将具有 answered 属性,该属性为 true 或 false,具体取决于先前是否已为该项目选择了该答案。如果 answer.answered = true,则应选中该单选按钮(只有一个会被回答)。问题是我无法根据 answer.answered 获取要检查的适当单选按钮。我试过 ng-value="answer.answered",在初始化时设置模型。缩写代码如下。
<md-card data-ng-repeat="question in gradeCtrl.questions | limitTo: 1 track by $index" class="questions main-questions"
data-ng-if="!gradeCtrl.subQuestions && gradeCtrl.needsRepairs === false">
<ul data-ng-repeat="answer in question.answers track by $index" class="questionnaire" layout-wrap layout="column" layout-align="center center">
<li>
<input type="radio" name="{{question.id}}" data-ng-attr-id="answer.id" data-ng-value="gradeCtrl.isAnswered(answer);"
data-ng-init="gradeCtrl.radioButton[answer.id]=gradeCtrl.isAnswered(answer);"
data-ng-model="gradeCtrl.radioButton[answer.id]">
</li>
</md-card>
最佳答案
我能够通过设置 model = answer.answered 以及使用 ng-checked 来解决它。
<input type="radio" name="{{question.id}}" data-ng-checked="gradeCtrl.isAnswered(answer);"
data-ng-attr-id="answer.id"
data-ng-init="gradeCtrl.radioButton[answer.id] = gradeCtrl.isAnswered(answer);"
data-ng-click="gradeCtrl.saveAnswer(answer, question.question)"
data-ng-model="answer.answered">
关于javascript - 动态创建单选按钮并选择适当的按钮 Angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35047256/