选择/取消选中复选框元素AngularJS

时间:2016-07-08 08:43:54

标签: angularjs select checkbox

我有一个模态,其中包含可以使用复选框选择的项目列表。现在我想做的是能够取消选择一个元素,这样当我取消选择该元素时,它将从数组中删除,并取消选中该复选框。目前,我的函数添加了一个元素,无论我选择还是取消选择一个项目。

这是我的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 个答案:

答案 0 :(得分: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();
}

这对我来说很好。