0

我有一个<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 没有正确地做到这一点。它将最后一个元素添加到列表中,但不会选择它。它只选择默认时间之一。

我怎样才能解决这个问题?

4

1 回答 1

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

于 2013-05-24T12:10:01.140 回答