2016-01-27 114 views
2

我有一個問卷形式,循環問題和答案的問題,然後創建單選按鈕的答案。答案對象將具有回答的屬性,根據是否先前已爲該項目選擇了該回答,該回答對象可以是真或假。如果answer.answered = true,那麼應檢查該單選按鈕(只有一個將被回答)。問題是,我無法根據answer.answered檢查合適的單選按鈕。我嘗試過ng-value =「answer.answered」,在init中設置模型。縮寫代碼如下。動態創建單選按鈕並選擇適當的按鈕Angularjs

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

只是一個FYI你的'data-ng-repeat'應該在''li'元素而不是'ul'上, – Malkus

回答

0

我能通過設置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">