为什么AngularJS在select中包含一个空选项?
发布时间:2020-12-17 09:23:01 所属栏目:安全 来源:网络整理
导读:在过去几个星期我一直在使用AngularJS,一个真正困扰我的是,即使在尝试所有的排列或在 http://docs.angularjs.org/api/ng.directive:select规范中定义的配置,我仍然得到一个空选项作为第一个孩子选择元素。 这里是玉: select.span9(ng-model='form.type',
在过去几个星期我一直在使用AngularJS,一个真正困扰我的是,即使在尝试所有的排列或在
http://docs.angularjs.org/api/ng.directive:select规范中定义的配置,我仍然得到一个空选项作为第一个孩子选择元素。
这里是玉: select.span9(ng-model='form.type',required,ng-options='option.value as option.name for option in typeOptions'); 这里控制器: $scope.typeOptions = [ { name: 'Feature',value: 'feature' },{ name: 'Bug',value: 'bug' },{ name: 'Enhancement',value: 'enhancement' } ]; 最后,这里是生成的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> 我需要做什么来摆脱它? P.S .:事情工作没有这个,但它只是看起来奇怪,如果你使用select2没有多重选择。
当ng-model引用的值在传递给ng-options的一组选项中不存在时,会生成空选项。这发生以防止意外模型选择:AngularJS可以看到初始模型是未定义的或不在选项集中,并且不想自己决定模型值。
如果你想摆脱空选项,只需在控制器中选择一个初始值,如: $scope.form.type = $scope.typeOptions[0].value; 这里是jsFiddle:http://jsfiddle.net/MTfRD/3/ 简而言之:空选项意味着没有选择有效的模型(通过有效I表示:从选项集)。您需要选择有效的模型值以摆脱此空选项。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |