'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 演示