gpt4 book ai didi

javascript - 使用下拉菜单过滤 ng-repeat 而不复制下拉选项

转载 作者:行者123 更新时间:2023-11-30 17:00:00 24 4
gpt4 key购买 nike

同样,我可以在 ng-repeat 中手动执行 filter: { category : 'Popular'},我希望能够做同样的事情下拉菜单的事情。

我能够使基础知识发挥作用。我有两个问题:我不希望下拉列表中的类别重复,我希望在下拉列表中选择“热门”时能够看到所有归类为“热门”的内容。

这是我的 HTML:

<div ng-controller="SuperCtrl" class="row">
<ul class="small-12 medium-12 columns">
<select ng-model="find" ng-options="entry.category for entry in parsedEntries"><option value="">Select Category</option></select>.
<li ng-repeat="entry in parsedEntries | filter: find">
<strong>{{ entry.title }} </strong><br>
{{ entry.description }}
</li>
</ul></div>

这是 Controller :

app.controller('SuperCtrl', ['$scope', '$http', function($scope,$http) {
var url = 'https://spreadsheets.google.com/feeds/list/1lZWwacSVxTD_ciOsuNsrzeMTNAl0Dj8SOrbaMqPKM7U/od6/public/values?alt=json'
var parse = function(entry) {
var category = entry['gsx$category']['$t'];
var description = entry['gsx$description']['$t'];
var title = entry['gsx$title']['$t'];
return {
category: category,
description: description,
title: title
};
}
$http.get(url)
.success(function(response) {
var entries = response['feed']['entry'];
$scope.parsedEntries = [];
for (key in entries) {
var content = entries[key];
$scope.parsedEntries.push(parse(content));
}
});
}]);

最佳答案

让它按照你想要的方式工作:

<select ng-model="find" ng-options="entry.category as entry.category for entry in parsedEntries | unique: 'category'">

unique过滤器来自 angular-filter .它需要添加 'angular.filter'你对你的模块依赖:

var app = angular.module('myApp', ['angular.filter']);

参见 fiddle

注意:这本身不是问题,但我使用了 <select> <ul> 中的元素一个。

关于javascript - 使用下拉菜单过滤 ng-repeat 而不复制下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com