angularjs 默認給 input[checkbox] 元素定制了一些屬性,如:
<input type="checkbox" ng-mudel="name" ng-true-value="yes" ng-false-value="no" ng-change="fn()">
ng-mudel 屬性是Angularjs里面最常見的屬性了,是用來數據雙向綁定的屬性。
ng-true-value 屬性設置當 checkbox 選擇狀態返回的值。
ng-false-value 屬性設置當 checkbox 非選擇狀態返回的值。
ng-change 屬性設置當 checkbox 選擇狀態改變的時候調用的函數。
默認checkbox:
<div ng-controller="checkout"> <input type="checkbox" ng-model="defaut_choose"> <p>{{defaut_choose}}</p> </div> <script> function checkout($scope){ // } </script>
添加其他屬性的 checkbox:
<div ng-controller="checkout"> <input type="checkbox" ng-model="choose" ng-true-value="choosed" ng-false-value="unchoosed" ng-change="backfn();"> <p>{{choose}}</p> </div> <script> function checkout($scope){ $scope.choose = "choosed"; $scope.backfn=function(){ alert("checkbox值改變"); } } </script>
如果想 ng-change 觸發的函數里獲取到該觸發該函數的元素不能直接傳入 this ,而需要傳入 $event 。因為在 Angularjs 里面,這個地方的 this 是 $scope 。我們可以傳入 $event ,然后在 函數里面通過 $event.target 來獲取到該元素。