Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度-如何根据用户选择/选择的选项使用ng repeat筛选显示的数据?_Angularjs_Filter_Angularjs Ng Repeat_Angular Filters - Fatal编程技术网

Angularjs 角度-如何根据用户选择/选择的选项使用ng repeat筛选显示的数据?

Angularjs 角度-如何根据用户选择/选择的选项使用ng repeat筛选显示的数据?,angularjs,filter,angularjs-ng-repeat,angular-filters,Angularjs,Filter,Angularjs Ng Repeat,Angular Filters,数据应基于选项字段显示(通过ng重复)(请参见下文)。例如,如果用户选择“最佳公司牛仔”,则只应显示属于该公司的用户。我尝试了过滤器,但似乎不起作用,我尝试编写了一个函数,检查所选选项是否有效,但我不知道如何显示该选项(尝试在用户数组中循环并添加到新数组,然后在该数组中重复)。有人能帮忙吗?谢谢 <div ng-app="app" ng-controller="appCtrl"> <select ng-model="selectedAccount" ng-option

数据应基于选项字段显示(通过ng重复)(请参见下文)。例如,如果用户选择“最佳公司牛仔”,则只应显示属于该公司的用户。我尝试了过滤器,但似乎不起作用,我尝试编写了一个函数,检查所选选项是否有效,但我不知道如何显示该选项(尝试在用户数组中循环并添加到新数组,然后在该数组中重复)。有人能帮忙吗?谢谢

    <div ng-app="app" ng-controller="appCtrl">
 <select ng-model="selectedAccount" ng-options="account.name for account in companies" ng-change="change()">
 </select>
   <div ng-repeat="company in companies">
    <div ng-repeat="user in company.users">
        <p>{{user.firstName}} | filter: 'selectedAccount'</p>
    </div>
   <div>
  </div>

app.controller('appCtrl', function($scope){
    $scope.companies = [{
        name: 'The Best Company Denim',
        users: [{
            firstName: 'Alex',
            lastName: 'D',
            number: 1234
        }, {
            firstName: 'Sarah',
            lastName: 't',
            number: 14
        }, {
            firstName: 'J',
            lastName: 'd',
            number: 07
        }]
    }, {
        name: 'The Best Company Elegant',
        users: [{
            firstName: 'Alx',
            lastName: 'B',
            number: 1234
        }, {
            firstName: 'Seth',
            lastName: 'w',
            number: 12
        }, {
            firstName: 'J.S',
            lastName: 'B',
            number: 7
        }]
    }, {
        name: 'The Best Company by Julia',
        users: [{
            firstName: 'Aleddddx',
            lastName: 'l',
            number: 1234
        }, {
            firstName: 'Maggy',
            lastName: 'n',
            number: 1
        }, {
            firstName: 'Ja',
            lastName: 'Key',
            number: 123
        }]
    }]
$scope.change = function() {
   var x = "";
   for (var i = 0; i < $scope.selectedAccount.users.length; i++) {
       console.log($scope.selectedAccount.users[i])
       x += $scope.selectedAccount.users[i]
   }
   return x;

{{user.firstName}}|筛选器:“selectedAccount”

app.controller('appCtrl',函数($scope){ $scope.companies=[{ 名称:“最佳公司牛仔”, 用户:[{ 名字:“亚历克斯”, 姓氏:“D”, 电话:1234 }, { 名字:“莎拉”, 姓氏:“t”, 电话:14 }, { 名字:“J”, 姓氏:“d”, 电话:07 }] }, { 名称:“最优雅的公司”, 用户:[{ 名字:“Alx”, 姓氏:“B”, 电话:1234 }, { 名字:“赛斯”, 姓氏:“w”, 电话:12 }, { 名字:“J.S”, 姓氏:“B”, 电话:7 }] }, { 名称:“朱莉娅的最佳公司”, 用户:[{ 名字:“Aleddx”, 姓氏:“l”, 电话:1234 }, { 名字:“玛吉”, 姓氏:“n”, 编号:1 }, { 名字:“Ja”, lastName:'Key', 电话:123 }] }] $scope.change=函数(){ var x=“”; 对于(变量i=0;i<$scope.selectedAccount.users.length;i++){ console.log($scope.selectedAccount.users[i]) x+=$scope.selectedAccount.users[i] } 返回x;
}
});

首先,您使用的
过滤器不正确

用于数组。所以你必须这样使用:

<div ng-repeat="element in array | filter: param">
另外,在您的
ng选项中
,为了将公司名称绑定到所选的
帐户
变量,请使用
as
语法:



所选公司:{{selectedAccount}
{{user.firstName}


首先,您使用的
过滤器不正确

用于数组。所以你必须这样使用:

<div ng-repeat="element in array | filter: param">
另外,在您的
ng选项中
,为了将公司名称绑定到所选的
帐户
变量,请使用
as
语法:



所选公司:{{selectedAccount}
{{user.firstName}

<select ng-model="selectedAccount" ng-options="account.name as account.name for account in companies">
</select>