我无法让它工作:
<div class="year-divider">
<select style="width:70px;" class="form-control year-selector"
id="{{'playerYearSelector'}}"
name="playerCurrYear" data-ng-model="user.playerYears.value"
data-ng-init="user.playerYears.value = user.playerYears.valueIdx[user.initYearIdx]">
<option data-ng-repeat="v in user.playerYears.valueIdx"
value="{{user.playerYears.valueIdx[v]}}"
data-ng-disabled="user.playerYears.disabled[v]">
{{user.playerYears.strValues[v]}}
</option>
</select>
</div>
在控制器中我有:
$scope.user = {};
$scope.user.initYearIdx = 3;
var disabled = [ false, false, false, false, false, false, false, false, false, false, true ];
var strValues = [ "-2", "-1", "0", "1", "2", "3", "4", "5", "6", "7", "8" ];
var valueIdx = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var values = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
$scope.user.playerYears = {
"value": 3,
"values": values,
"valueIdx": valueIdx,
"strValues": strValues,
"disabled": disabled };
根据我的阅读,这是应该如何完成的,但是启动不起作用。其他一切都按我应该的方式工作,当我从下拉菜单中选择值时,我可以看到变量 ($scope.user.playerYears.value) 确实发生了变化。该变量的初始值为 3,但控制器将第一个元素显示为已选择 (-2)。
我试图调用一个函数并在那里设置启动值,但也没有效果。
有人可以解释我如何解决这个问题。