【问题标题】:Select/Deselect checkbox element AngularJS选择/取消选择复选框元素AngularJS
【发布时间】:2016-11-10 18:33:46
【问题描述】:

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

这是我的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();
}

是否有人对如何重写该函数以也适用于取消选择的元素有一些想法或建议?

提前致谢!

【问题讨论】:

    标签: angularjs select checkbox


    【解决方案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();
    }
    

    对我来说很好用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多