我有一个选择列表:
<option ng-repeat="hour in Hours"
value="{{hour.Value}}"
ng-show="filterEvent($index)"
ng-selected="hour.Value == EventDate || $first">
{{hour.Text}}
</option>
我想要自动选择未隐藏的第一个元素。现在如果我隐藏第一个元素,它就不会改变所选的索引。
我该怎么做?
答案 0 :(得分:1)
隐藏第一个选项
<select ng-model="hour" required="required"
ng-options="hour.value as hour for hour in hours" >
<option style="display:none" value="">select a type</option>
</select>
答案 1 :(得分:1)
Angular往往会忽略所选的属性,如果您想要选择一个元素,只需选择一个ng-model并将您想要选择的值设置为模型变量。
<select ng-model="selectValue" name="mySelect">
<option ng-repeat="hour in Hours"
value="{{hour.Value}}"
ng-show="filterEvent($index)"
>
{{hour.Text}}
</option>
</select>
并且,在您的控制器中使用forEach来查找数组的第一个可见值,并将其值设置为模型变量。