AngularJS在选择时默认为空白

AngularJS blank default in select

本文关键字:空白 默认 选择 AngularJS      更新时间:2023-09-26

我有一个select元素,有六个选项,第一个是空白选项:

<select name="method-rcvd" class="form-control" ng-model="workRequest.ReceiveMethod" required >
    <option value="" ng-selected="true"></option>
    <option value="1">Phone</option>
    <option value="2">Email</option>
    <option value="3">Fax</option>
    <option value="4">Mail</option>
    <option value="5">Other</option>
</select>

作用域上是绑定到此选择的对象属性:

$scope.workRequest.ReceiveMethod = "";

由于某些原因,选择"始终"默认为"电话",而不是空白。我希望它默认为空白。当我删除模型绑定时,它是有效的,所以我知道它与此有关,但它需要绑定。在我看来,这应该相对简单,但我很难让这个简单的事情发挥作用。

当我在选择下面吐出ReceiveMethod的值时:

Receive Method: {{workRequest.ReceiveMethod}}

它总是默认为"1"。如何将其默认为第一个选项,即空白选项?

谢谢。

您是否在控制器中设置了默认值?

如果将默认值设置为0而不是'',会发生什么情况?

这应该有效,但必须在workRequest.ReceiveMethod 上设置另一个值

我通过使用ng-init指令实现了这一点,如下所示:

<select name="method-rcvd" class="form-control"
        ng-model="workRequest.ReceiveMethod"
        ng-init="workRequest.ReceiveMethod = ''" required >
    <option value=""></option>
    <option value="1">Phone</option>
    <option value="2">Email</option>
    <option value="3">Fax</option>
    <option value="4">Mail</option>
    <option value="5">Other</option>
</select>

你也不需要

ng selected="true"

在第一个(空白)选项中。