AngularJS:如何添加一个名为"添加新值的特殊选项..."在下拉列表中?

时间:2015-03-16 10:01:54

标签: angularjs drop-down-menu

我有一个包含以下3个项目的下拉列表:

100
200
300

使用AngularJS很容易完成。

HTML:

<select ng-model="selectedNumber"
        ng-options="opt as opt.label for opt in myNumbers">

控制器:

$scope.myNumbers= [
    { label: '100', value: 100 },
    { label: '200', value: 200 },
    { label: '300', value: 300 }
];

$scope.selectedNumber = $scope.myNumbers[0];

现在新要求是在下拉列表中添加一个特殊选项

Add New Value ...
100
200
300

何时添加新价值......&#39;选中一个新对话框应该显示,以允许用户在下拉列表中添加新值。

如何实施此类下拉列表?

1 个答案:

答案 0 :(得分:3)

为什么不自己创建这样的选项:

<select ng-model="selectedNumber">
    <option>Add New Value</option>
    <option ng-repeat="opt in myNumbers">{{opt.label}}</option>
</select>

或者创建一个函数,使用额外的元素返回数组,例如:

$scope.selectNumbers = function() {
    return [{ label: 'Add New Value', value: -1 }].concat($scope.myNumbers.concat_;
}

并将其绑定到像这样选择

<select ng-model="selectedNumber"
        ng-options="opt as opt.label for opt in selectNumbers()">