2

我有这个html:

<select ng-model="group.newCriterionType">
    <option ng-repeat="type in group.availableTypes" value="{{type}}" ng-selected="$first">{{type}}</option>
</select>

还有这个模型代码(使用 jresig 的Class迷你库)

var FilterGroup = Class.extend({
  className: 'FilterGroup',
  widgetType: 'group',
  init: function(name) {
    this.name = name;
    this.availableTypes = FilterTypes;
    this.newCriterionType = this.availableTypes[0];
    this.updateAvailableTypes();
  },
});

但是,我的选择中仍然有一个空元素。根据到目前为止我在 SO 上看到的所有答案,这显然是您的模型值包含不正确值时的行为。然而:

  • 我在一些console.log语句中添加了检查值
  • 肯定会调用此代码,因为availableTypes正在设置
  • 它把它从它循环的数组中拉出来。这怎么可能是一个不正确的值?
  • 即使我将 ng-selected 拉出,它仍然存在
  • 如果我使用 ng-options 而不是循环遍历它们,它仍然存在(尽管这意味着我不能将值设置为与文本相同而不将其转换为对象)

任何线索都非常感谢。

詹姆士

4

0 回答 0