Angular——控制改變checkbox的狀態

       這段時間在學習angular,做練習的時候想做一個對幾個複選框的全選、反選和全不選的控制。
       本來以爲是通過控制屬性checked,但是查了資料發現屬性checked不需要值,只要有這個屬性就是表示選中狀態,所以不能通過控制這個屬性,然後angular有自己的指令ng-checked,這個屬性爲false時表示未選中,爲true時爲選中,所以可以通過這個屬性來控制,代碼如下:

html:

  <section ng-controller="tab-test-controller">
    <button ng-click="okClick()">全選</button>
    <button ng-click="reverseClick()">反選</button>
    <button ng-click="noClick()">全不選</button>
    <hr>
    <hr>
    <div ng-repeat="inp in checkList">
        {{inp.name}}: <input type="checkbox" ng-checked="inp.checked">
    </div>
</section>

js:

$scope.checkList = [{
        name:'嗚嗚',
        checked:'false'
    },{
        name:'哇哇',
        checked:'false'
    },{
        name:'嘻嘻',
        checked:'false'
    },{
        name:'哈哈',
        checked:'false'
    }];
//全選
$scope.okClick = function(){
    $scope.checkList.map(n => {
        n.checked = true;
    });
};

//全不選
$scope.noClick = function(){
    $scope.checkList.map(n => {
        n.checked = false;
    });
};

//反選
$scope.reverseClick = function(){
    $scope.checkList.map(n => {
        n.checked = !n.checked;
    });
}

也可以通過ng-model指令,只要將ng-checked改爲ng-model就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章