AngularJS - 如何将占位符文本添加到下拉列表

时间:2014-12-04 08:19:58

标签: angularjs

我是angularjs的新手。我想在我的下拉列表中添加一个占位符。 我不是很难编码我的下拉值,它来自某些地方。你能告诉我我错在哪里吗?

<div class="row form-group">
    <label class="col-md-3">Action<span style="color: #b94a48">*</span></b></label>
    <div class="col-lg-3 col-md-7" style="padding: 0px;">
        <div class="dropdown select" style="width: 100%;">
            <select name="wlOrdActType" class="dropdown multiple" placeholder="-- Please Select --" 
                ng-model="wlOrdActType" 
                ng-options="obj.name as obj.name for obj in ordertypeList"
                style="width: 100%;">
                    <option></option>
            </select>
        </div>
    </div>
</div>

这里的每件事都有效。但占位符不在下拉列表中

5 个答案:

答案 0 :(得分:16)

<option value="" disabled selected>Please Select</option>

答案 1 :(得分:4)

您可以这样做:

<select ng-model="wlOrdActType" ng-options="obj.name as obj.name for obj in ordertypeList">
  <option value="" selected="selected">Choose one</option>
</select>

答案 2 :(得分:2)

也可以试试这个:

<select required class="form-control" ng-model="myModel" 
ng-options="item as item.title for item in list">
    <option value="" label="-- Select option --" disabled selected="selected">      
    </option>
</select>

将模型设置为控制器中的空字符串。

 $scope.myModel = "";

答案 3 :(得分:1)

选择框不支持占位符属性。 this SO question上接受的答案将为您提供最佳解决方案。

答案 4 :(得分:0)

我正在使用Angular v1.6.6。因此,请检查旧版本的兼容性。我相信下面的代码应该从v1.5开始。

$scope.ordertypeList = ordertypeListFromApiCall; // Get the collection from API
$scope.ordertypeList.splice(0,0, {'id' : '', 'name' : 'Select Order Type...' } );                 
$scope.wlOrdActType = $scope.ordertypeList[0];

在HTML中,

<select class="form-control" ng-model="wlOrdActType" required ng-options="ordertype.name disable when ordertype.id == '' for ordertype in ordertypeList track by ordertype.id">
</select>

在itemSelected函数中,确保$ scope.wlOrdActType的id不为空