如何从angularjs选择下拉列表中删除空/空项目



'use strict';
var app = angular.module('myApp', []);
app.controller('AppCtrl', function($scope){
$scope.mail_notifications = [
{
"key": "all",
"value": "For any event on all my projects"
},
{
"key": "selected",
"value": "For any event on the selected projects only..."
},
{
"key": "only_my_events",
"value": ""
},
{
"key": "only_assigned",
"value": "Only for things I am assigned to"
},
{
"key": "only_owner",
"value": ""
},
{
"key": "none",
"value": "No events"
}
];
$scope.mail_notification = 'all';
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="AppCtrl">        
<select ng-model="mail_notification" ng-options="c.key as c.value for c in mail_notifications"></select>
</div>
</div>

我有一个下面的Fiddle链接供参考。

https://jsfiddle.net/maayuresh/mjugfLr0/1/

在上面的Fiddle中,我有一个名为mail_notifications的json对象。在这种情况下,一些属性是空的,像这样为null->quot">

这些空值将显示在选择下拉列表中。

我的目标是从选择下拉列表中删除它。我怎样才能做到这一点?

FYI,

此空值将显示在选择下拉列表中。

null不等同于""(空字符串(

过滤value不是空字符串的项目:

$scope.mail_notifications = $scope.mail_notifications.filter(x => x["value"] != "");

你也可以过滤有价值的项目。这是一个真实的价值,如下所示:

$scope.mail_notifications = $scope.mail_notifications.filter(x => x["value"]);

JS Fiddle 演示

最新更新