我有一个集合,我正在循环它。
<tbody>
<tr ng-repeat="account in vm.pagedAccounts.items"
ng-class="{ 'highlight': (account.rowIsSelected === account) }"
<td>
<input
ng-model="account.rowIsSelected"
ng-value="{{account}}"
name="selectedAccount"
ng-change="vm.selectAccount(account)"
type="radio">
</td>
ng-value
设置为整个account object
。
现在,该行正在突出显示,但未选中该按钮。
在控制器中,
vm.selectAccount = function (account) {
account.rowIsSelected = account;
}
我做错了什么?
答案 0 :(得分:1)
我认为这就是你要找的东西。而不是使用ng-change
更多的共用来使用单独的selected
模型。
<div ng-controller="MyCtrl as vm">
<table>
<tbody>
<tr ng-repeat="account in vm.items"
ng-class="{ 'highlight': account === vm.selected }">
<td>
Input:
<input ng-model="vm.selected"
ng-value="account"
name="selectedAccount"
ng-click="vm.resetOthers(account)"
type="radio">
</td>
</tr>
</tbody>
</table>
</div>
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', function($scope) {
let vm = this;
vm.selected = null;
vm.items = [{
rowIsSelected: false
}, {
rowIsSelected: false
}, {
rowIsSelected: false
}];
});
<强>&GT; demo fiddle 强>
答案 1 :(得分:0)
如果要选中单选按钮,则应将-1
设置为ng-value
,不能绑定整个复杂对象,它应该是布尔值。
true