2016-07-08 88 views
1

我有一個可以使用複選框選擇項目列表的模式。現在我想要做的是也可以取消選擇一個元素,例如,當我取消選擇該元素時,它將從數組中移除,並取消選中該複選框。目前我的函數添加一個元素,無論我選擇還是取消選擇一個項目。選擇/取消選擇複選框元素AngularJS

這是我的html:

<div class="md-list-item-text"> 
    <md-checkbox ng-model="Item.isChecked " aria-label="Checkbox 1" ng-change="selectItem(modelItem)"> 
     <h3>{{ $eval('modelItem.'+propertyName) }}</h3> 
     <p>{{ $eval('modelItem.'+propertyDesc) }}</p> 
    </md-checkbox> 
</div> 

,這是選擇所有元素,他們被檢查時的功能。

$scope.selectItem = function (Item) { 
    $scope.temp.push(Item.name) 
    prepareDisplayText(); 
} 

有沒有人有一些想法,或建議如何重寫函數也適用於取消選定的元素?

在此先感謝!

回答

1

嘗試這個 -

<div class="md-list-item-text"> 
    <md-checkbox ng-model="modelItem.isChecked " aria-label="Checkbox 1" ng-change="selectItem(modelItem)"> 
     <h3>{{ $eval('modelItem.'+propertyName) }}</h3> 
     <p>{{ $eval('modelItem.'+propertyDesc) }}</p> 
    </md-checkbox> 
</div> 

$scope.selectItem = function (Item) { 
    if(Item.isChecked){ 
     $scope.temp.push(Item.name) 
    } 
    else if($scope.temp.indexOf(Item.name) != -1){ 
     var index = $scope.temp.indexOf(Item.name); 
     $scope.temp.splice(index,1); 
    }   
    prepareDisplayText(); 
} 

這是爲我工作的罰款。

相關問題