2017-07-17 31 views
1

我已經創建了一個複選框作爲當ng檢查值爲False時啓用複選框?

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

現在對於"ng-checked="pr.closed"默認條件計算爲false爲pr.closed值爲false。但是我想要做的是在pr.closed的值爲false時啓用複選框,當值爲true時啓用複選框。

也應該相應地更新ng模型,即如果啓用了我的複選框,ng模型的值應該是true否則false

+0

你爲什麼不使用NG-禁用禁用複選框? –

回答

1

你可以用否定運算符否定ng-checked!但由於它是不宜使用NG-模型NG-檢查,你可以使用ng-true-value="false" ng-false-value="true"觸發您的複選框的基礎上,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模型值來獲取pr.close的值,但如果不使用ng-model和ng-checked,則會更好。我已經更新我的答案,只有ng-model @ User101 – Vivz

1

變化值的值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>

相關問題