2017-11-18 83 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