我找不到优雅的设置方式null
值与<select>
使用 AngularJS。
HTML :
<select ng-model="obj.selected">
<option value=null>Unknown</option>
<option value="1">Yes</option>
<option value="0">No</option>
</select>
{{obj}}
JS :
$scope.obj ={"selected":null};
当页面加载时,选择第一个选项,这很好,输出是{"selected":null}
。当切换到另一个选项后重新选择第一个选项时,输出变为{"selected":"null"}
(带引号),这不是我所期望的。
运行示例:http://plnkr.co/edit/WuJrBBGuHGqbKq6yL4La http://plnkr.co/edit/WuJrBBGuHGqbKq6yL4La
我知道标记<option value=null>
是不正确的。我也尝试过<option value="">
但它对应于一个空字符串而不是 null :因此第一个选项未被选择,并且默认情况下选择第一个选择后另一个选项消失。
任何想法 ?
这应该适合你:
控制器:
function MyCntrl($scope) {
$scope.obj ={"selected":null};
$scope.objects = [{id: 1, value: "Yes"}, {id: 0, value: "No"}]
}
模板:
<div ng-controller="MyCntrl">
<select ng-model="obj.selected"
ng-options="value.id as value.value for value in objects">
<option value="">Unknown</option>
</select>
<br/>
{{obj}}
</div>
工作 plnkr http://plnkr.co/edit/FrBhVlLyHQejFTumrPXT?p=preview
您应该将 ng-options 与 select 一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)