伙计我做了一个代码,知道我的复选框是否已经检查并且工作正常:
HTML:
<div ng-app>
<div ng-controller="UserController">
<table id="tblUsers" class="Table">
<thead>
<tr>
<th></th>
<th>Name</th>
<th>Last Name</th>
<th>Phone</th>
</tr>
<tr ng-repeat="user in users">
<td><input type="checkbox" ng-model="user.checked"/></td>
<td>{{user.name}}</td>
<td>{{user.lastName}}</td>
<td>{{user.phone}}</td>
</tr>
</table>
</div>
这是Angularjs代码:
function UserController($scope) {
$scope.users = [{ checked: false, name: 'Jorge', lastName: 'Martinez', phone: 012345 },
{ checked: false, name: 'Juan', lastName: 'Perez', phone: 78964 }];
$scope.updateUser = function () {
angular.forEach($scope.users, function (user) {
if (user.checked) {
user.name = $scope.nameUpdate;
user.lastName = $scope.lastNameUpdate;
user.phone = $scope.phoneUpdate;
}
});
};
}
问题是当我更改单选按钮的复选框时:
<td><input type="radio" ng-model="user.checked"/></td>
当我这样做时,这个值&#34; if(user.checked)&#34;显示为&#34;未定义&#34;。 有人知道如何解决这个问题或如何知道AngularJS控制器中是否检查了单选按钮。
答案 0 :(得分:0)
请参阅https://docs.angularjs.org/api/ng/input/input%5Bradio%5D
你想要有多个单选按钮,每个按钮都有自己的值来设置一些属性(虽然这很奇怪,是的,你最好用一个复选框,但如果你有多个值这就是单选按钮的工作方式)
<input type="radio" ng-model="user.checked" ng-value="true" />Yes
<input type="radio" ng-model="user.checked" ng-value="false" />No
当你只有一个单选按钮时,如果没有默认选中它或你没有ng值它将是未定义的,但也只有一个单选按钮,你永远不能取消选择它。
答案 1 :(得分:0)
您需要为单选按钮指定一个值。
<td><input type="radio" ng-model="user.checked" value="true"/></td>
<td><input type="radio" ng-model="user.checked" value="false"/></td>