角度动态选择

时间:2014-03-07 09:51:22

标签: javascript angularjs select

HTML

 <select ng-model="data.retour.selectedAmount" ng-options="c.name for c in getAmountArray(data.retour.amount)">
 </select>

 angular.extend($scope, {
    /**
    * Data properties
    * @property view
    */
    data: {
       retour:{}
    }
    });
    getAmountArray: function (amount) {
        amount = parseInt(amount, 10);
        var i, lArray = [];
        for (i = 1; i < (amount + 1); i++) {
            lArray.push({name: i});
        }
        return lArray;
    }

使用上面的代码我试图生成动态1-(数量+ 1)范围下拉列表。一切似乎都有效,除了下拉列表中添加了空值。为什么要添加这个空值?

E.G。当amount为1时,生成的列表为

blank

1

它应该是

1

1 个答案:

答案 0 :(得分:0)

当您未设置ng-options时,ng-model会发生这种情况。将$scope.data.retour.selectedAmount设置为getAmountArray()返回的值之一应修复它。

您可以在控制器中执行此操作,或者只需使用ng-init在视图中进行设置。例如,以下选择1并删除空格:

<select ng-model="data.retour.selectedAmount" ng-options="c.name as c.name for c in getAmountArray(data.retour.amount)" ng-init="data.retour.selectedAmount = 1"></select>