【问题标题】:Dynamically creating radio buttons and selected appropriate button Angularjs动态创建单选按钮并选择适当的按钮Angularjs
【发布时间】:2023-03-25 10:14:02
【问题描述】:

我有一个问卷调查表,它循环遍历问题和问题中的答案,然后创建带有答案的单选按钮。答案对象将具有已回答的属性,该属性是真还是假,具体取决于先前是否为该项目选择了该答案。如果 answer.answered = true,则应选中该单选按钮(只会回答一个)。问题是我无法根据 answer.answered 检查适当的单选按钮。我已经尝试过 ng-value="answer.answered",将模型设置为 init。缩写代码如下。

 <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>

【问题讨论】:

  • 仅供参考,您的 data-ng-repeat 应该在 li 元素上,而不是 ul

标签: javascript html angularjs


【解决方案1】:

我能够通过设置模型 = 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">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 2011-07-28
    • 2018-07-15
    • 1970-01-01
    相关资源
    最近更新 更多