<select ng-model="machineSelected"
ng-options="machine._id as machine.name for machine in machineList"
ng-change="onChangeMachine(machineSelected)"
ng-disabled="!mineSelected">
<!--<option value=""></option>-->
<option value="">Select</option>
</select>
当我添加
$scope.machineSelected = "";
动态地在控制器中的任何地方,下拉菜单中的选项应设置为“选择”,但不会更新。
答案 0 :(得分:1)
使用null
或undefined
(而不是空字符串)作为“未选中”值。
docs就是这样:
(可选)可以将单个硬编码的
<option>
元素(其值设置为空字符串)嵌套在<select>
元素中。然后,此元素将表示null
或“未选中”选项。请参见下面的示例进行演示。
尚不清楚不能使用空字符串,但至少他们提到了null
。
答案 1 :(得分:0)
在控制器中设置默认选项,并根据所选项目动态更改
<select ng-model="selectedItem" ng-change="getSelectedText()">
<option >All Items</option>
<option >Active Subscriptions Only</option>
<option >Expired Only</option>
</select>
控制器
app.controller('SelectedTextController', function ($scope) {
$scope.selectedItem = "All Items";
$scope.getSelectedText = function () {
var selectedItem=this.selectedItem;
};
});
答案 2 :(得分:0)
使用null
作为未选择的值:
̶$̶s̶c̶o̶p̶e̶.̶m̶a̶c̶h̶i̶n̶e̶S̶e̶l̶e̶c̶t̶e̶d̶ ̶=̶ ̶"̶"̶;̶
$scope.machineSelected = null;
ng-options
指令已使用AngularJS V1.6进行了重构。在此之前,可以使用空字符串选择默认值。现在,通过为模型分配null
来选择默认值。
有关更多信息,请参见
select
with ngOptions
and setting a default value
angular.module("app",[])
.controller("ctrl",function($scope){
$scope.machineList = [
{ _id:1, name: "Megatron" },
{ _id:2, name: "Starscream" },
{ _id:3, name: "Shockwave" },
];
$scope.machineSelected = null;
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app" ng-controller="ctrl">
<select ng-model="machineSelected"
ng-options="machine._id as machine.name for machine in machineList"
ng-change="onChangeMachine(machineSelected)">
<option value="">Select</option>
</select>
<br>
machineSelected={{machineSelected}}
</body>