选择Angularjs的占位符



我无法通过select获得占位符的想法。在下面的第一个条目下仍然是空白的。

<select class="form-control" ng-model="refData" required>
     <option ng-repeat="d in refData">
          {{d.value}}
     </option>
     <option value="" disabled hidden selected>View current values</option>
</select>

您可以使用transclusion添加一个禁用和选择的额外选项。查看如何制作"选择"框的占位符?有关该通用解决方案的更多背景。这是ngselect文档,也可以参考。

查看

<div ng-controller="MyCtrl">
    <select name="mySelect" 
            id="mySelect"
            ng-options="option.name for option in refData track by option.id"
            ng-model="selectedOption">
         <option value="" disabled selected>View current values</option>
     </select>
</div>

angularjs应用程序

var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
    $scope.refData = [
      {id: '1', name: 'Option A'},
      {id: '2', name: 'Option B'},
      {id: '3', name: 'Option C'}
    ];
    $scope.selectedOption =  "";
});

JSFIDDLE DEMO

<select ng-model="testData" ng-options="test.name for test in testData">
        <option value="" selected>View current values</option>
</select>

给定的测试数据是:

$scope.testData = [{"name" : "John"}, {"name" : "Micheal"}, {"name" : "Sarah"}];

我建议使用ng-options

<select ng-options="d as d.value for d in refData" ng-model="refDataSelected"></select>

在您的控制器上您可以声明

$scope.refDataSelected = refData[0]

使用第一个元素作为默认选项

如果要创建一个虚拟文本,则可以使用自定义文本添加一个新对象,并给它一个像-1这样的虚幻ID。但是当您提交时,您应该检查其ID是否为-1。

最新更新