2017-11-18 118 views
0

其实我为我的拼贴项目制作了一个退房系统,它有7个人,每个人将工作8个小时,我们总共56个小时,所以系统将只允许56小时,如果有人需要额外的时间(总共3班),所以总时间将在下一班中扣除,如果总时间将为0,所有输入字段将禁用(ng禁用),我想使这通过角,但面临着一些语法问题,我的代码是禁用输入字段,如果一些条件在角度js

angular.module('myApp', []) 
 
.controller('myCtrl', function() { 
 
    var vm = this; 
 
    var total = 56, 
 
    var checklist = [vm.spvc1,vm.spvc2,vm.spvc3,vm.spvc4,vm.spvc5,vm.spvc6,vm.spvc7]; 
 
    vm.check = function(){ 
 
    for(var i=0;i<=checklist.length; i++){  
 
    if(checklist[i]!==""){ 
 
     var totalcheck = total-8; 
 
    } 
 
    return totalcheck; 
 
    } 
 
    console.log(totalcheck); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl as main"> 
 
    <input type="text" ng-model="main.spvc1"> 
 
    <input type="text" ng-model="main.spvc2"> 
 
    <input type="text" ng-model="main.spvc3"> 
 
    <input type="text" ng-model="main.spvc4"> 
 
    <input type="text" ng-model="main.spvc5"> 
 
    <input type="text" ng-model="main.spvc6"> 
 
    <input type="text" ng-model="main.spvc7"> 
 
    </div>

我是一个新手ngular,并混淆了如何使用NG-禁用,由于提前

回答

0

首先你要添加NG-禁用您输入

<div ng-app="myApp" ng-controller="myCtrl as main"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc1"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc2"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc3"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc4"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc5"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc6"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc7"> 
</div> 
在控制器

做计算的总时间检查后,如果是零并相应地设置disableAll。

if(totaltime == 0){ 
    $scope.disableAll = true; 
} 
+0

谢谢您的答复,这样意味着我必须在每一个输入使用NG-禁用,也请你给我更好地了解答案jsfield因为它显示了一些语法错误,请提前致谢 – Codexx

+0

您可以添加您收到的错误。这样我可以进一步帮助。 – NTP

+0

意外的令牌var和:[$ injector:modulerr] – Codexx

0

<input type="text" ng-disabled=" workhour > 56 ?true:false" ng-model="main.spvc1"> 
 
means if work hour is greaterthen 56 then disable 
 

 
replace the work hr with your object

+0

谢谢你的回应,但是输入不是小时它的令牌号。这就是为什么我使用的人:if(checklist [i]!==“”) – Codexx

0
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
<div ng-app="myApp" ng-controller="myCtrl as main"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc1"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc2"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc3"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc4"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc5"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc6"> 
    <input type="text" ng-disabled="disableAll" ng-model="main.spvc7"> 
</div> 

angular.module('myApp', []) 
.controller('myCtrl', function() { 
    var vm = this; 
    var total = 56; 
    var checklist = [vm.spvc1,vm.spvc2,vm.spvc3,vm.spvc4,vm.spvc5,vm.spvc6,vm.spvc7]; 
    vm.check = function(){ 
    for(var i=0;i<=checklist.length(); i++){  
     if(checklist[i]!==""){ 
     var total = total-8; 
     } 
    } 
    if(total === 0){ 
     $scope.disableAll = true; 
    } 
    return total; 
    } 
    console.log(total); 
}); 
+0

我希望它能帮助你。你错过了}循环之后。 –

+0

选中此JS Bin链接。 https://jsbin.com/yumuturowi/edit?html,js输出 –

+0

谢谢你的回应,但假设我修复总值48,所以根据登录最后一个应该禁用,但它没有得到禁用.. – Codexx