无法使用ng-options删除空白选项

时间:2015-03-27 13:03:40

标签: angularjs ng-options

我对ng-options有疑问。 我无法在ng-options select中删除空白选项。

我有2个选择对象,都有ng-options。第二个选择的显示选项基于第一个选项。当我更改第一个选项的选项时,第二个选项最初会显示一个空白选项。

我尝试了几种解决方案,但无法修复它。

我的对象:

$scope.mySpecs = {  
    "1": {
        "name": "Name 1",
        "options": {
            "1": "option 1",
            "2": "option 2",
            "3": "option 3"
        }
    },
    "5": {
        "name": "Name 5",
        "options": {
            "6": "option 6",
            "7": "option 7",
            "8": "option 8"
        }
    }
};

我的两个选择:

<select ng-model="selectedSpecs.name" ng-options="k as v.name for (k, v) in mySpecs" ng-change="setVals()">
    </select>

    <select ng-model="selectedSpecs.option" ng-options="k as v for (k, v) in mySpecs[selectedSpecs.name].options"></select> 

这是一个小提琴:

https://jsfiddle.net/byvpx7mn/3/

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

你可以做一件事使用Object.keys并选择第0个键。

$scope.selectedSpecs.name = Object.keys($scope.mySpecs)[0];

如果你不想在第二次选择设置第一个选项中为null。

<option value="" ng-if="false"></option>

Fiddle