将select的默认值设置为null选项

时间:2014-10-02 21:14:00

标签: angularjs select default angularjs-select2

根据Angular documentation,您可以创建一个不属于模型的null选项。这允许您有一个描述性选项。 I.E.在他们的例子中,他们有-- choose color --。如何将null选项设为默认选项?我希望用户在首次加载页面时看到此描述性空选项。

奖励积分如果您还可以告诉我如何通过角度禁用空选项。

2 个答案:

答案 0 :(得分:6)

该值自动设置为null。 但是,如果您从REST接收数据并将其设置为某个值 - 您可以将ng-init添加到select标记中。 并且在选择某个值后禁用null选项 - 您需要将ng-disabled添加到option标记。

<select ng-model="model" ng-options="item for item in items" ng-init="model = null">
  <option value="" ng-disabled="!!model">--Select option--</option>
</select>

在控制器中:

.controller('MainCtrl', function($scope) {
  $scope.model = 'First';
  $scope.items = ['First', 'Second', 'Third'];
});

演示:http://plnkr.co/edit/esoX26I9bESE59yneOvv

答案 1 :(得分:2)

只需使用ng-if在选择后将其完全删除即可。根据我的经验,最好的选择。

<select name="objectSelector"
    ng-model="selectedObject"
    ng-options="obj for obj in Objects" required>
    <option value="" ng-if="!selectedObject">--- Select Object ---</option>
</select>

如果真的,真的必须在做出选择之后显示'---选择对象---',那么你可能只想插入第二个

<option value="" ng-if="!!selectedObject" disabled>--- Select Object ---</option>

然后相应地显示可见选项...还没有找到一种动态设置'禁用'的简单方法。

相关问题