我有json对象,在页面上显示ng-repeat。我可以搜索它们,但我需要能够通过选择html元素的某个参数“过滤”它们。
为了更好地理解,让我们说这是我的HTML代码:
<select ng-model="selectedGroupToShow" ng-options="group.Name for group in myGroups">
<option value="">-- choose something --</option>
</select>
让我们说myGroups Name属性是“Group1,Group2,Group3 ......”。它们还有indeces和其他参数,但Name是我选择的(这是用户想要看到的)
对象构建如下:
{'groupID': value, 'parameter2':value, 'parameter3':value, …}
…
现在如果我使用selectedGroupToShow作为过滤器,对象将被group.Name过滤,这当然是正确的,但我的对象没有group.Name作为其中的值。他们拥有的是组ID号,它作为参数groupID中的值给出。
我是否可以通过某种方式选择 groupID 值?我仍然需要在select中显示group.Name,但是在参数'groupID'中搜索group.Id作为值?
我面临的问题再一次是:
如果我不清楚,请不要犹豫,询问更多信息(我很难将我的问题转化为可理解的问题)
答案 0 :(得分:0)
有一点困难时间100%理解这个问题,我希望这是你正在寻找的。
<select ng-model="selectedValue" ng-options="g.groupID as g.Name for g in groups"></select>
JSFiddle:http://jsfiddle.net/ADukg/4709/
这应该为您选择ID,但在进行选择时将其标记为用户的名称。
表“ngOptions”是如何使用集合/数组作为select元素的选项的一个很好的参考。 http://docs.angularjs.org/api/ng/directive/select
编辑:新建JSFiddle,按指定参数过滤组列表。 http://jsfiddle.net/ADukg/4713/
过滤器上的文档:http://docs.angularjs.org/api/ng/filter/filter
编辑#2:用户小提琴,配置为正确过滤。 http://jsfiddle.net/ADukg/4722/