在angularjs中基于过滤器从数组中移除元素
Remove elements from array based on filter in angularjs
我如何从数组中删除基于过滤器的元素,当'quantity'为0和'isSelected'为false时仅删除这些索引?任何的建议。下面是我的代码:
<table data-ng-repeat="st in Absorb track by $index" data-ng-cloak data-ng-init="remove(st)">
<tr>
<td>
<input type="radio" name="groupName" data-ng-model ="st.isSelected" data-ng-checked="(st.isSelected == true)"/>
</td>
<td>
<span>{{st.ProjectedQuantityOnHand}}</span>
</td>
<td style="display:none" data-ng-if="st.ProjectedQuantityOnHand == 0">
<input type="number" data-ng-model="st.ProjectedQuantityOnHand" style="display:none">
</td>
</tr>
</table>
JS代码:
$scope.Absorb = [
{"Name":"apple", ProjectedQuantityOnHand:"0", isSelected:true},
{"Name":"mango", ProjectedQuantityOnHand:"0", isSelected:false}
{"Name":"ball", ProjectedQuantityOnHand:"1", isSelected:false}
{"Name":"football", ProjectedQuantityOnHand:"1", isSelected:false}
]
$scope.remove = function (item) {
var availableqauantity = 0
debugger
angular.forEach($scope.StockList, function (i) {
var FilteredProduct1 = $filter('filter')($scope.StockList, { isSelected: false, ProjectedQuantityOnHand: 0 });
if (FilteredProduct1.length > 0) {
availableqauantity = FilteredProduct1[0].ProjectedQuantityOnHand;
if (availableqauantity == 0)
$scope.StockList.splice(i,1);
}
});
}
<table data-ng-repeat="st in Absorb | filter:{isSelected: '!false', ProjectedQuantityOnHand: '!0'} track by $index" data-ng-cloak>
这将只显示那些isSelected不同于false且ProjectedQuantityOnHand不同于0的项目。不需要外部功能
https://plnkr.co/edit/gPz5pKSIOxZ6odSU3TfF?p =
预览检查这个例子。这里我做了一个自定义过滤器,只在ProjectedQuantityOnHand为0且isSelected为false时隐藏项目。
app.filter('customFilter', function() {
return function(values) {
var filtderResult = [];
angular.forEach(values, function(value) {
if (value.isSelected || value.ProjectedQuantityOnHand !== 0) {
filtderResult.push(value);
}
});
return filtderResult;
}
});
相关文章:
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- Mongoose-在更新中删除数组元素
- javascript数组元素是否知道其封闭数组
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 如何在javascript中使用click函数选择数组元素
- 如何在JavaScript中剥离数组元素中的非整数
- 消隐数组元素是否生成自己的属性
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 在Codrops的内容中添加数组元素展开缩略图网格预览
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- 如何访问数组中的数组元素(JavaScript)
- 生成ACF标记位置的数组(元素列表后缺少])
- validate.js验证数组元素
- JavaScript Unshift EACH 数组元素
- 如何在加号运算符之后选择数组元素的一部分
- 访问标记图标的图像数组元素
- JavaScript 合并相同的数组元素
- 删除仅空格数组元素
- JavaScript闭包和返回数组元素