我有ng-repeat
选项:
<option ng-repeat="year in data.dateList.year" value="{{year.id}}" ng-disabled="(year.id < 2015) ? true : false">
您可以看到ng-disabled="(year.id < 2015) ? true : false"
为什么year.id
低于2015年我的选项未被停用?
这是我的新代码:
<div class="itm" ng-repeat="a in range(num) track by $index">
<option ng-repeat="year in data.dateList.year" ng-disabled="(year.id) < formData.beginYear[$index]">
{{year.value}}
</option>
</div>
答案 0 :(得分:4)
你需要在这里使用ng-options来禁用选项
<select ng-model="year"
ng-options="year.id disable when (year.id < 2015) for year in data.dateList.year">
</select>
<强>更新强>
对于两个输入字段相互依赖,您可以像下面这样做。主要问题是当你进行比较时它是字符串,因为value
属性将值转换为string
格式。您可以使用ng-options
保留dataType
的值&amp;在进行比较时会更容易。
<强>标记强>
<select ng-model="yr[$index]"
ng-options="year.id as year.id for year in years">
</select>
<select ng-model="year"
ng-options="year.id disable when (year.id < yr[$index]) for year in years">
</select>
答案 1 :(得分:1)
答案 2 :(得分:1)
使用此代码
<option ng-repeat="year in data.dateList.year track by $index" ng-disabled="(year.id) < 2015">{{year.id}}</option>