<div class="row" ng-repeat="obj in questionObject.choices">
<div class="radio">
<label class="choice" ng-class="{'choiceSelected': isChecked==$index}">
<input type="radio"
name="optradio"
/*********************************************/
ng-model="isChecked"
ng-value="$index"
/*********************************************/
ng-click="selectAnswer($index,questionObject)">{{obj.body}}
</label>
</div>
</div>
看評論裏面的線條,清楚地告訴你該複選框($指數)的值被綁定到器isChecked變量。
通過你,條件在納克級的==器isChecked $指數是相同的所有元素,並因此類適用於所有單選按鈕。
如果你可以更新Json的questionObject,可以給你另一種選擇。
假設questionObject包含以下JSON
[{
"body": "abc"
}, {
"body": "def"
}, {
"body": "aghi"
} ]
您可以使用下面的代碼,使你的結果實現
<div class="row" ng-repeat="obj in questionObject track by $index" >
<div class="radio" >
<label class="choice"
ng-class="{'choiceSelected': isChecked==$index}">
<input type="radio"
name="optradio"
ng-value="obj.body"
ng-click="selectAnswer($index,obj)">
{{obj.body}}
</label>
</div>
的方法selectAnswer應該讓你的工作變得簡單。使用此
$scope.selectAnswer=function(number,obj)
{
$scope.isChecked=number;
}
LIVE DEMO
注:在你的代碼的HTML格式的selectAnswer方法調用傳遞 questionObject完全
更新1
原因手動定義器isChecked
層的外觀爲的值的範圍器isChecked因爲你已經在
那麼你的** ** selectAnswer功能是幹什麼用納克級? – Aravind
沒什麼重要的。只傳遞一些數據並將其打印到控制檯。 – undroid
你的questionObject json? – Aravind