【发布时间】:2014-07-04 08:46:50
【问题描述】:
我找不到使用 AngularJS 将 null 值设置为 <select> 的优雅方法。
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
我知道标记<option value=null> 不正确。我也尝试使用<option value="">,但它对应于一个空字符串而不是 null :因此未选择第一个选项,默认选择第一个选项后另一个选项消失。
有什么想法吗?
【问题讨论】:
-
你需要这个简单的
null做什么? -
你不能使用空值。它不是一个值,角度需要一个值来跟踪。
-
@creimers
null被JSON specifications 允许。我不想有一些将空字符串转换为 null 的代码(空字符串可能有另一种语义) -
angularjs 在默认选择选项时不一致stackoverflow.com/questions/23643712/…
标签: javascript html angularjs