angularjs 阻止 ng-option 自动选择最后一个值

angularjs prevent ng-option autoselecting last value

angularjs 我遇到了问题,标题是自动解释的,但我的问题是...

我有两个 select 元素,当我 select 第一个元素中的一个选项时,ng-change 进行 Ajax 调用,响应用于填充第二 select。但是当 ajax 请求完成时,$scope.$apply() 更新所有内容并填充第二个 select 元素,但默认情况下最后一项总是 selected。为什么?如何预防?

疯狂的是我有很多其他 select 元素,通过 Ajax 填充,而这个问题只发生在一个特定的 select.

我的HTML

<select class="form-control" ng-model="id_professional"
        ng-options="professional.ID as professional.NAME for professional in listProfessionals">
   <option value="">Select...</option>
</select>

$scope.listProfessionals

[
{ID: "700003655490405", NAME: "Jhon"},
{ID: "700003655490406", NAME: "Lucas"},
{ID: "700003655490407", NAME: "James"},
{ID: "700003655490408", NAME: "Michael"}
]

"Michael" 总是在填充列表时 selected。

我已经尝试了以下解决方案,但没有用。

所以,我找到了导致错误的原因,很遗憾地说这只是一个错字,我的错。两夜未眠真是让我神魂颠倒。

问题是 Ajax 响应有一个名为 IDN 的 属性 而不是像 professional.ID (未定义)这样的 ID,在 ng-options 中输入 professional.IDN 已解决我的问题。

抱歉各位。还是谢谢你!

<select class="form-control" ng-model="id_professional"
        ng-options="professional.IDN as professional.NAME for professional in listProfessionals">
   <option value="">Select...</option>
</select>