[英]Angular table disabling toggles when condition is met
我有一個角度應用程序,其中我定義了一個表格,如下所示:
<tr ng-repeat="child in requirements">
{% verbatim %}
<td class="vcenter"><input type="checkbox" ng-checked="selectedCourses.indexOf(child) != -1" ng-click="toggleCheck(child)" ng-disabled="required == (planned + completed)" value=""/>
{{child.course.subject}}-{{child.course.course_no}}
</td>
<td class="vcenter">{{child.course.course_name}}</td>
{% endverbatim %}
<td class="vcenter">3</td>
</tr>
在app.js(controller)中,我定義了以下函數,以便在滿足上述條件后,切換會禁用自身。
$scope.toggleCheck = function (course) {
if (($scope.selectedCourses.indexOf(course) === -1)) {
$scope.selectedCourses.push(course);
$scope.planned += 3;
if (($scope.planned + $scope.completed) == $scope.required) {
alert('Requirement met');
}
} else {
$scope.selectedCourses.splice($scope.selectedCourses.indexOf(course), 1);
$scope.planned -= 3;
}
$scope.getPercentage();
};
到目前為止,一切工作都很好,一旦滿足條件,該表將禁用切換。 但是該表在禁用時甚至禁用了選中的切換,這很有意義。 我如何確保禁用僅發生在未選中的切換上而不是已選中的切換上?
您還需要檢查ng-checked是否為true。
<td class="vcenter">
<input type="checkbox"
ng-checked="selectedCourses.indexOf(child) != -1"
ng-click="toggleCheck(child)"
ng-disabled="required == (planned + completed) && selectedCourses.indexOf(child) == -1"
value=""
/>
/>
如果前面的條件得到滿足,並沒有選擇它只會禁用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.