[英]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" ...
您可以尝试以下简单解决方案 :
<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.