当满足条件时,Angular表禁用开关
Angular table disabling toggles when condition is met
我有一个angular应用程序,我定义了一个表如下:
<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();
};
到目前为止,一切都很顺利,一旦满足条件,表就会禁用切换。但是当表禁用时,它甚至禁用了checked toggle,这是有意义的。我如何确保禁用只发生在未检查的切换,而不是检查的?
您需要检查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=""
/>
/>
只在满足上述条件时才会禁用且未选中
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 使用angular重定向到html页面
- angular.js没有'无法在PhoneGap中处理视图标记
- Javascript(Angular)从一个对象数组到第二个数组查找值
- angular 1.5应用程序中的导航栏
- angular的下拉菜单
- Angular只从数组中获取所需的数据
- 如何将不可变的js导入angular 2(alpha)
- 在angular中使用html模板's ng开关
- 如何在 Angular JS 中执行开关或 else/if 语句
- Angular JS:使用ng开关并检查文件是否存在
- Angular 2的渐变开关
- Angular -显示/隐藏内容的开关不起作用
- 当满足条件时,Angular表禁用开关
- Angular开关基于布尔值的外部Div
- Angular js:Ng开关在Ng点击后没有更新
- Angular JS:布尔值上的 ng 开关不起作用