在选择框Angularjs中将已存在的选定属性设置为默认选定值

Set an already existing selected attribute to the default selected value in a select box Angularjs

本文关键字:属性 设置 默认 存在 选择 Angularjs      更新时间:2023-09-26

我正在编写一个Angular.js应用程序,该应用程序有一个person对象,在该person对象中有一个表示该人状态的属性。参见示例对象:

{
    "name":"John Doe",
    "address":"555 Test Avenue",
    "city":"Some City",
    "state":{
        "code":"AZ",
        "name":"Arizona"
    }
    ...
}

然后,在我的选择中,我列出了所有的州。见下文:

<select ng-options="state.name for state in states" ng-model="person.state"></select>

因此,我认为应该发生的是,由于该人员已经分配了一个状态,因此我希望<select>中默认选择的选项是该人员的状态。我本以为,由于ng-model设置为person.state,它会默认选择该状态,但事实并非如此。有人知道怎么做吗?谢谢

感谢Blackhole为我指明了答案的方向:

Angular比较是为了参考,而不是为了相等。我所要做的就是在states数组中找到正确状态的索引,并将person.state对象设置为引用数组中的那个状态对象。现在效果很好!感谢黑洞指引我走向正确的方向!