【发布时间】:2015-07-28 13:10:53
【问题描述】:
我有一个使用 ngOptions 和“track by”功能的选择列表,如下所示:
<select validdate="{{date}}" ng-model="code" ng-options="code.description for code in codelist track by code.value">
<option value=""></option>
</select>
代码对象具有各种属性,包括确定代码有效性的开始日期和结束日期。有一个单独的“日期”属性,用于检查是否可以选择代码。对于这个有效日期指令,我需要整个对象,因此我使用 track by 并且不能使用“as”来填充 ng-model 属性。
这可以正常工作,但初始 null 值除外。
当验证返回 false(并相应地标记选择框)并且用户随后选择空值时,验证不会被重置。
不会调用验证器,即使 ng-model 属性“代码”从对象更改为空值。似乎因为track by,它不会触发validation指令。有谁知道这个的解决方案吗?
【问题讨论】:
-
您可以创建一个 js fiddle 页面以便我们轻松帮助您吗?
-
我做了一个JSFiddle,一开始无法重现。原来这是我在项目中使用的 Angular 版本(1.3.8)中的一个错误。升级或降级 Fiddle 中使用的版本解决了这个问题。作为参考,这是错误的版本:jsfiddle.net/2tvy2jgh/1
标签: angularjs ng-options angularjs-ng-options angularjs-track-by