生成选项并自动选择第一个结果

时间:2015-07-13 16:31:23

标签: javascript angularjs select

这是我现在已经挣扎了很长一段时间的事情。我的目标是用一个可变的问候列表填充选择框,让它自动选择第一个而不是简单的空格。

<label>Check me to select: <input type="checkbox" ng-model="selected">
</label><br/>

<select> id="greetings">
    <option ng-repeat="greeting in MyCtrl.greetingList"
            ng-selected="selected">{{ greeting }}</option>
</select>

ng-selected指令(实际上是所选属性,实际上是一个更简单的解决方案)确实在表单加载时从列表中选择一个项目,但它始终默认为列表中的最后一项。我可能会捕获列表中的第一个元素并生成其余元素,但我不禁想到那里有一个更优雅的解决方案。有什么想法吗?

顺便说一下,我知道ng-options比ng-repeat更好。问题是我需要每个选项都有一个ng-click指令。我无法用ng-options实现这一点。

1 个答案:

答案 0 :(得分:0)

您应该尝试$first并指定model进行选择。以这种方式

<select data-ng-model="greetings">
    <option data-ng-repeat="greeting in MyCtrl.greetingList"
                data-ng-selected="$first" data-ng-value={{greeting.id}}>{{ greeting }}</option>
</select>

也有一些特殊属性。所有这些都如下

$index

$first

$middle

$last

$even

$odd