我在过去几周一直在使用AngularJS,而真正困扰我的一件事是,即使在尝试了所有排列或http://docs.angularjs.org/api/ng规范中定义的配置之后.directive:select,我仍然得到一个空选项作为select元素的第一个子元素.
这是玉:
select.span9(ng-model='form.type', required, ng-options='option.value as option.name for option in typeOptions');
Run Code Online (Sandbox Code Playgroud)
在这里控制器:
$scope.typeOptions = [
{ name: 'Feature', value: 'feature' },
{ name: 'Bug', value: 'bug' },
{ name: 'Enhancement', value: 'enhancement' }
];
Run Code Online (Sandbox Code Playgroud)
最后,这是生成的HTML:
<select ng-model="form.type" required="required" ng-options="option.value as option.name for option in typeOptions" class="span9 ng-pristine ng-invalid ng-invalid-required">
<option value="?" selected="selected"></option>
<option value="0">Feature</option>
<option value="1">Bug</option>
<option value="2">Enhancement</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我需要做些什么才能摆脱它?
PS:事情也没有这个,但如果你使用select2而没有多重选择,它看起来很奇怪.
是否可以使用ng-options它根据标准呈现为禁用的行?
这个:
<select ng-options="c.name group by c.shade for c in colors">
Run Code Online (Sandbox Code Playgroud)
也许有可能变成这样的事情:
<select ng-options="c.name group by c.shade for c in colors | disabled(c.shade)">
Run Code Online (Sandbox Code Playgroud)
让我们说通过一个过滤器可以返回disabled='disabled'所有颜色有阴影="黑暗"
<select>
<optgroup label="dark">
<option value="0" disabled="disabled">black</option>
<option value="2" disabled="disabled">red</option>
<option value="3" disabled="disabled">blue</option>
</optgroup>
<optgroup label="light">
<option value="1">white</option>
<option value="4">yellow</option>
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud) 怎么做ng-options和ng-repeat不同?
在下面的代码中,我有一个ng-repeat迭代人员列表:
<select ng-model="selectedPerson" >
<option ng-repeat="obj in people" value="{{obj.id}}">{{obj.name}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
以下是我认为使用中的等效选择框ng-options:
<select ng-model="selectedPerson" ng-options='obj.name for obj in people'></select>
Run Code Online (Sandbox Code Playgroud)
我希望他们表现得一样,但事实并非如此.为什么?
$scope.people = [
{
id: 0,
name: 'Leon',
music: [
'Rock',
'Metal',
'Dubstep',
'Electro'
]
},
Run Code Online (Sandbox Code Playgroud)