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 来获取到该元素。
黑洞@heidsoft
Github:https://github.com/heidsoft
微博:http://weibo.com/liuganbin
热衷云计算和大数据
关注CloudStack,OpenStack,Linux c/c++/python/java
关注研究新技术