Javascript 在调用ng change之前验证复选框

Javascript 在调用ng change之前验证复选框,javascript,angularjs,Javascript,Angularjs,我有一个中继器: <tr data-ng-repeat="worktime in workTimesFiltered "> 在中继器内,我有一个输入复选框: <input ng-change="updateIncludeOnInvoice(worktime.includeOnInvoice, worktime.timeType)" name='obj1_data' type="checkbox" ng-model="worktime.includeOnInvoice"

我有一个中继器:

 <tr data-ng-repeat="worktime in workTimesFiltered ">

在中继器内,我有一个输入复选框:

 <input ng-change="updateIncludeOnInvoice(worktime.includeOnInvoice, worktime.timeType)" name='obj1_data' type="checkbox" ng-model="worktime.includeOnInvoice" ng-true-value="true" ng-false-value="false">

检查后,我调用updateIncludeOnInvoice。问题是,如果另一个worktime.timeType==“0%”,我不希望它是可点击的

我可以在updateIncludeOnInvoice中捕获此信息,并尝试设置worktime.includeOnVoice=false,但复选框仍保留在屏幕上

我找到了一种访问dom元素的方法,该元素被单击以手动将其设置回unchecked,但它似乎有点不对劲

正确的处理方法是什么


在调用ng change之前以某种方式验证复选框,如果是,如何验证?

如果我理解这一点,您只想在满足某些条件时禁用复选框

        <input ng-disabled="isConditionMet()">

        $scope.isConditionMet = function() {
           // check your condition and return true/false
        };

$scope.isConditionMet=函数(){
//检查您的状况并返回真/假
};