Arrays AngularJS:显示响应数组的第一个元素
我目前有一个带有两个动态下拉列表的表单(Arrays AngularJS:显示响应数组的第一个元素,arrays,angularjs,angularjs-scope,angularjs-ng-repeat,angularjs-filter,Arrays,Angularjs,Angularjs Scope,Angularjs Ng Repeat,Angularjs Filter,我目前有一个带有两个动态下拉列表的表单(Location&Branch)。当选择一个Location值时,Branch将自动使用该位置填充相应的分支 <select ng-model="formData.location" ng-options="rg as rg.type for rg in region"> <option value="">Choose Location</option> </select> <
Location
&Branch
)。当选择一个Location
值时,Branch
将自动使用该位置填充相应的分支
<select ng-model="formData.location"
ng-options="rg as rg.type for rg in region">
<option value="">Choose Location</option>
</select>
<select ng-model="formData.branches"
ng-options="c as c[formData.location.displayName] for c in formData.location.data | orderBy:'branch'">
<option value="">Choose Branch</option>
</select>
现在,在表单内部,分支中的每个选项
更改
,都会有一个从我的数据库中的表中预生成的代码(分配到其每一行),由ng repeat
获得,如下所示:
<div ng-repeat="codes in response">
<span ng-if="((codes.branch == formData.branches.alias) && (codes.taken == 0))">
{{codes.code}}
</div>
有人告诉我,如果我想得到每个数组的第一个元素,可以在控制器中执行此操作,但我不知道如何执行此操作。当我有时间的时候,我会发布一个plunker。我现在就需要解决这个问题,因为我要在一天结束前完成最后期限
我希望这个问题即使没有一句废话也能弄清楚。提前谢谢 您可以通过管道将多个过滤器连接在一起,第一个过滤器基于分支进行过滤,第二个过滤器限制返回项目的数量:
<div ng-repeat="codes in response | filter: {branch: formData.branches.alias, taken: 0} | limitTo: 1">
{{codes.code}}
</div>
并像这样使用它:
<div ng-repeat="item in items | filter: filterBy('foo', 'bar')">
你能发布“违规”代码吗,即不符合你要求的代码{code.code}
AngularJS过滤器只获取我数据库中表的第一个索引。这不是我想要的。我需要在每个分支的上选择响应数组的第一个元素limito:1
将获取响应数组的第一个元素如果您需要获取在ng中使用的条件,并为ng repeat
创建自定义筛选器。然后放入过滤器,限制:1将基于过滤后的数组,而不是整个数组array@NewDevlimito:1
只获取第一个索引,而不是第一个元素。我运行它,DZXXK768
是唯一一个返回的,即使在选项
从分支
更改后也是如此。这很有效!谢谢!:)
<div ng-repeat="codes in response | filter: {branch: formData.branches.alias, taken: 0} | limitTo: 1">
{{codes.code}}
</div>
$scope.filterBy = function(a, b){
return function(item){
return item.foo === a || item.bar === b;
}
}
<div ng-repeat="item in items | filter: filterBy('foo', 'bar')">