2017-07-17 10 views
1

pr.closedの値がfalseであるようNGチェック値がFalseの場合、チェックボックスを有効にしますか?

<input type="checkbox" name="enableSchedule" ng-model="pr.closed" ng-checked="pr.closed"> 

はデフォルトで"ng-checked="pr.closed"ための条件がfalseと評価されて、私は、チェックボックスを作成しました。私がしたいのは、pr.closedの値がfalseの場合はチェックボックスを有効にし、値がtrueの場合は無効にします。

また、ng-modelはそれに応じて更新する必要があります。つまり、チェックボックスを有効にすると、ng-modelの値はtrue,falseになります。

+0

なぜあなたは、チェックボックスを無効にするには、NG-無効に使用していけませんか? –

答えて

1

否定演算子を使用してng-checkedを否定することができます。 NG-確認してNG-モデルを使用しないことをお勧めされているのでしかし、あなたはng-model

<input type="checkbox" name="enableSchedule" ng-model="pr.closed" 
      ng-true-value="false" ng-false-value="true"> 

angular.module("App",[]) 
 
.controller("ctrl",function($scope){ 
 

 
    $scope.pr = {closed:false }; 
 

 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<body ng-app="App" ng-controller="ctrl"> 
 
<p>My checkbox:</p> 
 
<input type="checkbox" name="enableSchedule" ng-model="pr.closed" 
 
      ng-true-value="false" ng-false-value="true"> 
 
Value of ng-model is {{pr.closed}} 
 
</body> 
 

 
</html>

+0

OP要件としては機能しません。 –

+0

ng-modelがないと、フォームが送信されたときにコントローラにチェックボックスの値が表示されますか? –

+0

ng-model値をpr.closeの値として取得する必要がありますが、ng-modelをng-checkedで使用しない方が良いでしょう。私はただのng-model @ User101で私の答えを更新しました – Vivz

1

の変化の値に基づいて、チェックボックスの値をトリガするng-true-value="false" ng-false-value="true"を使用することができますchecked="!pr.closed"はfalseをチェックします。

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 

 
    $scope.pr = {'closed':false,"modelval" : true } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<input type="checkbox" name="enableSchedule" ng-model="pr.modelval" ng-checked="!pr.closed">checked value is {{pr.closed}} <br> 
 
model value is {{pr.modelval}} 
 

 
</div>

関連する問題