如果角度为js中的某些条件,则禁用输入字段

时间:2017-11-18 10:45:26

标签: javascript angularjs

实际上,我正在为我的拼贴项目制作一个结账系统,该项目有7个人,每个人将工作8个小时,我们总共有56个小时,所以系统只允许56个小时,如果有人想要额外的时间(每天总共3班),所以总时间将按照工作在下一班中扣除,如果总时间为0,则所有输入字段将禁用(ng-disable),我想通过Angular进行此操作但面临一些语法问题我的代码是



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);
});
&#13;
<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>
&#13;
&#13;
&#13;

我是Angular中的新手,并且混淆了如何使用ng-disable,在此先感谢

3 个答案:

答案 0 :(得分:0)

首先,您必须在输入中添加ng-disabled

<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;
}

答案 1 :(得分: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

答案 2 :(得分: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);
});