Jul*_*jan 35 html javascript html5 angularjs
我找不到使用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}}
Run Code Online (Sandbox Code Playgroud)
JS:
$scope.obj ={"selected":null};
Run Code Online (Sandbox Code Playgroud)
加载页面时,选择第一个选项,这是好的,输出是{"selected":null}
.在切换到另一个选项后重新选择第一个选项时,输出变为{"selected":"null"}
(带引号),这不是我所期望的.
运行示例:http: //plnkr.co/edit/WuJrBBGuHGqbKq6yL4La
我知道标记<option value=null>
不正确.我也试过,<option value="">
但它对应一个空的String而不是null:因此,第一个选项没有被选中,另一个选项在默认选择第一个选择后消失.
任何的想法 ?
Waw*_*awy 38
这应该适合你:
控制器:
function MyCntrl($scope) {
$scope.obj ={"selected":null};
$scope.objects = [{id: 1, value: "Yes"}, {id: 0, value: "No"}]
}
Run Code Online (Sandbox Code Playgroud)
模板:
<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>
Run Code Online (Sandbox Code Playgroud)
你应该使用ng-options和select.
Bla*_*ole 17
你可以使用ngOptions
指令select
.根据文件:
可选地,可以将单个硬编码
<option>
元素(其值设置为空字符串)嵌套到<select>
元素中.然后,此元素将表示null
"未选择"选项.请参阅下面的示例进行演示
<select ng-model="obj.selected" ng-options="key as label for (key, label) in ['No', 'Yes']">
<option value="">Unknown</option>
</select>
Run Code Online (Sandbox Code Playgroud)
显然,直接在控制器中定义选项列表是一个更好的主意.
归档时间: |
|
查看次数: |
56159 次 |
最近记录: |