繁体   English   中英

将JSON信息显示在下拉列表中。

[英]Display the JSON information into a drop down.Angularjs

这是我的JSON数据:

{
    result: 1,
    vote_time_slots: {
    2016-08-07: {
        diff: 1080,
        slots: {
            08:42: false, 09:36: false, 06:54: false, 04:30: false,
            09:18: false, 09:00: false, 08:24: false, 05:42: false,
            06:00: false, 10:12: false, 08:06: false, 06:36: false,
            07:12: false, 07:48: false, 05:24: false, 06:18: false,
            09:54: false, 07:30: false, 10:30: false, 05:06: false,
            04:48: false
        }
    },
    2016-07-25: {
        diff: 1080,
        slots: {
            08:42: false,
            09:36: false,
            06:54: false,
        }
    },

我希望像08:42、09:36之类的时隙进入下拉列表。

请告诉我如何导航到广告位字段并仅获取广告位值(过滤后为false)(即值)

<li ng-repeat="c in eventTimings | filter: ????:false"><a>{{(c)}}

如何基于过滤器也显示?

如果我具有真值,则相应的时隙不应显示在下拉列表中。

尝试这样:

slots = {
            "08:42": false, "09:36": false, "06:54": false, "04:30": false,
            "09:18": false, "09:00": false, "08:24": false, "05:42": false,
            "06:00": false, "10:12": false, "08:06": false, "06:36": false,
            "07:12": false, "07:48": false, "05:24": false, "06:18": false,
            "09:54": false, "07:30": false, "10:30": false, "05:06": false,
            "04:48": false
        };
var arr = [];
for(var prop in slots) { arr.push(prop); }
console.log(arr);

从这里开始,您将在arr上重复

ng-repeat="opt in arr" ...

您将必须遍历插槽的属性(因为它是对象格式的)。 提出问题之前,请先在stackoverflow中进行搜索。

查看以下链接中的答案是否有帮助,并使用该逻辑编写自定义过滤器:

遍历对象属性

您可以尝试以下简单解决方案

<li ng-repeat="(key, value) in data.slots" ng-if='!value'>{{key}}</li>

另一种方法-创建自定义过滤器

HTML:

<li ng-repeat="(key, value) in data.slots | custom : false">{{key}}</li>

Javascript:

.filter('custom', function() {
  return function(input, search) {
    var result = {};
    angular.forEach(input, function(value, key) {
      if (value == search) {
        result[key] = value;
      }
    });
    return result;
}});

暂无
暂无

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

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