使用angularJS中的ng-options选择绑定

时间:2015-07-09 15:33:17

标签: angularjs

我正在尝试使用ng选项将项目绑定到我的选择,并使用ng模型重新获取值。 HTML代码:

 <select class="form-control" 
          data-ng-options="s.Value as s.Name for s in PageData.CountryCollection" data-ng-model="PageData.PageInfo.CounrtyID">                                    </select>

AngularJS COde:

$cope.PageData.CountryCollection=[{Value:1,Name:xyz},{Value:2,Name:abc},....]
$cope.PageData.PageInfo={CountryID:1,CounrtyName:bcd,population:5m}

在这种情况下,我在选择列表中获取了像xyz一样的项目      ABC      XYZ      ABC

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果没有更多代码,就无法说明为什么要获得重复值。您可以尝试使用track by来查看是否有帮助,但如果没有更多信息,则无法分辨。

<select class="form-control" 
    data-ng-options="s.Value as s.Name for s in PageData.CountryCollection track by $index" 
    data-ng-model="PageData.PageInfo.CounrtyID">
</select>

但是我可以告诉你,基于你的例子,你的代码可能不会像你期望的那样工作。

将ng-model设置为PageData.PageInfo.CountryID只会更新该对象的ID。如果要在下拉列表中将PageInfo对象设置为object,请按以下方式设置select:

<select class="form-control" 
    data-ng-options="s.Name for s in PageData.CountryCollection"      
    data-ng-model="PageData.PageInfo">
</select>

我可以在Plunk

上看到我正在谈论的内容的演示