event.target.checked 属性 不适用于复选框
event.target.checked property is not working for checkbox
我有一些输入 checkbox 是在 ng-repeat
中创建的
<li ng-repeat="item in tasks track by $index">
<input type="checkbox" ng-init="setChecked(item.status)"
ng-checked="changeStatus(item.id)"
ng-model="item.status" value="{{item.id}}">
<span ng-model="item.title" ng-keyup="completeEdit(item.id)"
contenteditable="false" ng-dblclick="contentEdit()"
class="done-{{item.status}}">{{ item.title }}
</span>
</li>
我想要实现的是,基于数据项 属性 复选框应显示为已选中或未选中。为此,我正在使用复选框的 ng-init。下面是我在 ng-init
中调用的函数
$scope.setChecked = function(status) {
event.target.checked = status;
};
但问题是上面的函数没有改变复选框。即使 status 为 true
,该复选框也始终显示为未选中
谁能告诉我上面的代码哪里做错了?
感谢任何帮助:)
要选中或取消选中复选框,我应该使用 ng-checked
并使用 ng-change
更新状态。这为我解决了问题。
<input type="checkbox" ng-change="changeStatus(item.id)"
ng-checked="item.status" ng-model="item.status"
value="{{item.id}}">
我有一些输入 checkbox 是在 ng-repeat
中创建的<li ng-repeat="item in tasks track by $index">
<input type="checkbox" ng-init="setChecked(item.status)"
ng-checked="changeStatus(item.id)"
ng-model="item.status" value="{{item.id}}">
<span ng-model="item.title" ng-keyup="completeEdit(item.id)"
contenteditable="false" ng-dblclick="contentEdit()"
class="done-{{item.status}}">{{ item.title }}
</span>
</li>
我想要实现的是,基于数据项 属性 复选框应显示为已选中或未选中。为此,我正在使用复选框的 ng-init。下面是我在 ng-init
中调用的函数$scope.setChecked = function(status) {
event.target.checked = status;
};
但问题是上面的函数没有改变复选框。即使 status 为 true
,该复选框也始终显示为未选中谁能告诉我上面的代码哪里做错了?
感谢任何帮助:)
要选中或取消选中复选框,我应该使用 ng-checked
并使用 ng-change
更新状态。这为我解决了问题。
<input type="checkbox" ng-change="changeStatus(item.id)"
ng-checked="item.status" ng-model="item.status"
value="{{item.id}}">