【问题标题】:angularjs prevent ng-option autoselecting last valueangularjs防止ng-option自动选择最后一个值
【发布时间】:2018-10-10 21:22:20
【问题描述】:

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

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

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

我的 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”。

我已经尝试了以下解决方案,但没有奏效。 Why dropdown selecting last value

【问题讨论】:

  • 你的 AJAX 函数是什么样的?
  • 我正在使用“ajaxq”来排队我的请求,看看here

标签: javascript angularjs angularjs-ng-options


【解决方案1】:

所以,我已经找出了导致该错误的原因,但说这只是一个错字,我的错,这是可耻的。两夜未眠真的让我大吃一惊。

问题是 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    相关资源
    最近更新 更多