我有一个数组列表,显示用户的会议名称和位置。默认情况下,我正在筛选列表以显示会议名称,并希望有一个选项可以单击一个选项卡,然后按位置名称筛选列表。这是目前我有:AngularJS过滤器数组列表通过点击单独的标签
数组列表:
$scope.requests = [
{
type: "meeting1",
meetingName: "Radiology San Diego",
location:"Sheraton Ballroom 5S",
subitems: [
{
name: "ESCALATED",
desc: "Power strips at every table",
priority:"1"
},
{
name: "OPEN",
desc: "Extra table for 3",
priority:"3"
},
{
name: "ACKNOWLEDGED",
desc: "Projector for meeting",
priority:"2"
},
{
name: "CLOSED",
desc: "Sub-Item 2",
priority:"5"
},
{
name: "CANCELLED",
desc: "Sub-Item 2",
priority:"1"
}
]
},
{
type: "meeting2",
meetingName: "California Almond Growers",
location:"Sheraton FL14",
subitems: [
{
name: "ESCALATED",
desc: "Sub-Item 1",
priority:"1"
},
{
name: "OPEN",
desc: "Sub-Item 2",
priority:"4"
},
{
name: "ACKNOWLEDGED",
desc: "Sub-Item 2",
priority:"2"
}
]
},
{
type: "meeting3",
meetingName: "Association of Amateur Archaeologists",
location:"Ansley 1- FL14",
subitems: [
{
name: "ESCALATED",
desc: "Sub-Item 1",
priority:"1"
},
{
name: "OPEN",
desc: "Sub-Item 2",
priority:"3"
}
]
}
];
JSP:
<ul class="nav nav-tabs">
<li class="active">
<a id="tab-meeting" data-toggle="tab"
ng-click="tab(1)">By MEETING</a>
</li>
<li>
<a id="tab-location" data-toggle="tab"
ng-click="tab(2)">By LOCATION</a>
</li>
</ul>
<div class="requestView">
<div class="requestInformation"
ng-repeat="mName in requests | filter:name | orderBy:sort">
<div class="row">
<div class="col-md-10">
<h4 ng-model="filterRequest">{{mName.location}}</h4>
</div>
JS来切换标签:
$scope.orderProp='location';
$scope.tab = function (tabIndex) {
//Sort by meeting name
if (tabIndex == 1){
//alert(tabIndex);
$scope.orderProp='meetingName';
}
//Sort by meeting location
if (tabIndex == 2){
$scope.orderProp = 'location';
}
});
对不起,我认为我的描述有点混乱......目前,我通过meetingName ...显示我的数组列表,点击“按位置”,我打算通过它的位置名称来显示我的列表。 – 2014-10-10 15:20:15
对不起,但我还不清楚你想做什么,既不被过滤器覆盖也不被排序?你想只显示会议名称的位置名称?如果是这样,只需{{mName [orderProp]}}选择要显示的字段? – Sycomor 2014-10-10 18:32:46