2017-04-21 56 views
0

我有以下NG选项AngularJS - 编号为NG-选项的每个选项

<select name="campaigns" ng-options="ac.campaignId in campaigns | filter:{category: filterSelectOptions} | orderBy: 'name'"> 
    <option value="">Choose one</option> 
</select> 

它的工作很好,但我希望每一个选项都有一个id属性。我怎样才能做到这一点?

编辑:这样做的目的是为了让我的Java Selenium测试可见每个选项。它通过id或名称查找元素。

+1

这*感觉就像一个[XY问题](https://meta.stackexchange.com/a/66378/297619)。拥有'id'属性的目的是什么? – Claies

+1

你可能是对的。我需要使我的Java Selenium测试的每个选项都可以通过id或name进行点击。 – MatMat

回答

1

试试这个解决方法,将你从ng选项获得的字符串赋值给选项标签id。

<select name="campaigns" ng-options="ac.campaignId in campaigns | filter:{category: filterSelectOptions} | orderBy: 'name'"> <option value="" id={{ac.campaignId}}>Choose one</option> </select>

+0

这不起作用。它只将一个id属性分配给默认选项。不幸的是,我需要ng-options中每个生成选项的id属性。 – MatMat

+0

我可以知道你为什么要选择id的原因吗? – SjVnyk

0

试试这个工作。我工作得很好。使用ng-model来获取关键值。并使用值= -1或不可用键值来识别。 !

<select ng-options="ac.campaignId in campaigns | filter:{category: filterSelectOptions} | orderBy: 'name'" ng-model="S_SubStatusID"> 
<option selected="" value="-1">Activity</option> 
</select>