Member 14132654 Ответов: 1

Как отключить мою кнопку, когда входные данные равны табличным данным


я хочу отключить кнопку, когда текст ввода и таблицы равны

<div ng-app="myApp" ng-controller="myCtrl">

 <input type="button" ng-click="add()" value='Add'  ng-model="button" >

<table id="tb"  >

<tr ng-repeat="x in bimar">


   <td><div class="danger" ng-if="x.name==new.name">{{x.error}}</div>  </td>
</tr>

</table>


Что я уже пробовал:

<!DOCTYPE html>
<html>
<style>
#tb{padding:10px;background-color:#DAF7A6;}

#tb tr {padding:5px 20px;font-size:20px;background-color:#FFE633;}
.green{background-color:red;}
.yellow{background-color:blue;}
.danger{background-color:red;}

</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">
 نام بیمار  <input type="text" name="name" ng-model="new.name" ><br>
 تاریخ مراجعه  <input type="text"  name="date" ng-model="new.date " ><br>
 زمان مراجعه  <input type="text" name="time" ng-model="new.time" ><br>
 <input type="button" ng-click="add()" value='Add'  ng-model="button">

<table id="tb"  >
<thead>
<td>ردیف</td><td>نام بیمار</td><td>تاریخ مراجعه</td><td>زمان مراجعه</td>
</thead>
<tr ng-repeat="x in bimar">

   <td>{{$index+1}}</td>
   <td >
   {{x.name}}
   </td>
 
   <td  ng-class="colorClass" >{{x.date}}</td>
   <td  ng-class="colorClass">{{x.time}}</td>
   <td><div class="danger" ng-if="x.name==new.name">{{x.error}}</div>  </td>
</tr>

</table>

<p ng-class="colorClass" >I should be either green or blue!</p>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.bimar =[
       {"name":"john","date":"11/11/97","time":"8:20","error":"flase"},
       {"name":"daniel","date":"15/10/97","time":"9:20","error":"flase"},
       {"name":"mick","date":"11/10/97","time":"9:20","error":"flase"}
    ];

     

    $scope.add=function(){
  
  
               $scope.bimar.push($scope.new); 
                
        $scope.new={}; 
    
   
    }
});



	
</script>



</body>
</html>

1 Ответов

Рейтинг:
9

sajeetharan

Вы можете использовать функцию, чтобы проверить, существует ли новое имя в массиве, и отключить кнопку на основе этого,

$scope.valid = function(){
          $scope.disable = $scope.bimar.some(t=>t.name==$scope.new.name);
}


Плунжер[Демонстрация]