2016-07-16 67 views
-1

我有我已經檢查幾個複選框已經使用了NG-INIT創建檢查,並取消所有功能角的js

<div class="checkbox"> 
    <label> 
     <input type="checkbox" ng-init="model.A='A'" ng-model="model.A" ng-true-value="'A'" ng-false-value="'nope'"/>A 
    </label> 
</div> 
<div class="checkbox"> 
    <label> 
     <input type="checkbox" ng-init="model.A='B'" ng-model="model.B" ng-true-value="'B'" ng-false-value="'nope'"/>B 
    </label> 
</div> 
<div class="checkbox"> 
    <label> 
     <input type="checkbox" ng-init="model.C='C'" ng-model="model.C" ng-true-value="'C'" ng-false-value="'nope'"/>C 
    </label> 
</div> 

我要的是創造一個功能,使這些複選框檢查和當我檢查單獨的複選框,鏈接或按鈕時取消選中。有人能幫我嗎?

回答

1

其簡單作爲以下,

創建一個鏈接來切換複選框選中狀態,在這裏,我已經創建了三個環節

第一個是用於切換複選框狀態,第二個爲全部取消複選框和最後一個檢查所有的checboxes。

<a href="#" ng-click="toggleCheck()">toggle check</a> | <a href="#" ng-click="uncheckAll()">uncheck all</a> | <a href="#" ng-click="checkAll()">check all</a> 

點擊取消選中將處理像下面,

$scope.uncheckAll = function() { 
    $scope.model.A = false; 
    $scope.model.B = false; 
    $scope.model.C = false; 
}; 

分配而導致的複選框取消選中的值。

點擊檢查都將是處理類似下面,

$scope.checkAll = function() { 
    $scope.model.A = 'A'; 
    $scope.model.B = 'B'; 
    $scope.model.C = 'C'; 
}; 

分配導致的複選框的檢查狀態的初始值。

切換檢查如下,如果A未選中,那麼所有將取消選中其他副都會檢查。

$scope.toggleCheck = function() { 
    if ($scope.model.A == false) { 
     $scope.checkAll(); 
    } else { 
     $scope.uncheckAll(); 
    } 
}; 

這裏是一個DEMO

+0

非常感謝你@ K.Toress。這件事情讓我感到很快樂。再次感謝你 –

+0

:)很高興幫助你'SL' :) –

1
//on button click 
    var key; 

    for(key in $scope.model){ 
     if(//checked condition){ 
     $scope.model[key] = key; 
     }else{ 
     $scope.model[key] = 'nope'; 
     } 
    } 
+0

什麼檢查條件?對不起,我的無知 –

+0

根據你想檢查複選框的條件 – Abcd