繁体   English   中英

如何从 angularjs select 下拉列表中删除空/空项目?

[英]How can i remove empty/null items from angularjs select dropdown?

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

我有一个下面的小提琴链接供参考。

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

在上面的小提琴中,我有 json object 命名为 mail_notifications。 在这一些属性是空的,null 像这样->“”

这个 null 值显示在 select 下拉列表中。

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

供参考,

这个 null 值显示在 select 下拉列表中。

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

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

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

您还可以使用 value is a truthy value过滤项目,如下所示:

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

演示@JS Fiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM