使用AngularJS在列表中选择动态项

时间:2013-05-24 12:04:07

标签: angularjs

我有一个带有<select>元素的ng-model=sendTime元素,可以从列表中选择一个时间。此列表仅包含有限数量的标准时间,但作为最后一项,它始终包含模型中sendTime的选项:

<select ng-model="sendTime" style="">
    <option value="now">now</option>
    <option value="08:00">08:00</option>
    <option value="17:00">17:00</option>
    <option value="{{sendTime}}">{{sendTime}}</option>
</select>

最后一项只是为了确保选择框中会出现自定义时间(在此视图中不可编辑)。问题是Angular没有正确执行此操作。它将最后一个元素添加到列表中,但它不会选择它。它只选择一个默认时间。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

将最后一个选项更改为<option ng-value="sendTime">{{sendTime}}</option>。但是这种行为会变得很奇怪。当您选择其他选项时,最后一个选项的值将更改为所选选项。如果你不想要这种行为,你可以这样做:

<select ng-model="sendTime" style="" ng-init="default=sendTime">
  <option value="now">now</option>
  <option value="08:00">08:00</option>
  <option value="17:00">17:00</option>
  <option ng-value="default">{{default}}</option>
</select>

请参阅:http://plnkr.co/edit/YhEgbDSxkE6nYy0FaRVF?p=preview