ng-repeat并选择/ optgroup不符合预期

时间:2015-06-23 16:06:40

标签: angularjs

我遇到使用ng-repeat和选择的问题。

这是我的代码,首先是

        <select>
            <optgoup ng-repeat="(key, value) in Widget.ids" label="{{ value.label }}">
                <option ng-repeat="id in Widget.ids[key].ids">{{ id }}</option>
            </optgroup>
        </select>

我的数据看起来像这样

        [ 
        { label: "My Label", ids: [ "one id", "another id" ] },
        { label: "My Other Label", ids: [ "one id", "another id" ] }
        ]

然而,这会返回一个完全空<select>。 令人沮丧的是,如果我将HTML更改为如下所示:

            <div ng-repeat="(key, value) in Widget.ids">{{ value.label }}
                <div ng-repeat="id in Widget.ids[key].ids">{{ id }}</div>
            </div>      

然后列出..

My label
one id
another id
My Other Label
one id
another id

事实上,如果我删除<select>标记并保留optgroup等标记,那么它实际上会生成正确的DOM元素。

另外,我不能简单地使用ng-model,因为我会为不同的模型保留它。 (Widget.my.path.widget_id)

那里发生了什么?

1 个答案:

答案 0 :(得分:3)

plunker应该有效:

<select>
    <optgroup ng-repeat="(key,value) in data" label="{{value.label}}">
      <option ng-repeat="id in value.ids">{{id}}</option>
    </optgroup>
  </select>