我有一个像
这样的过滤器angular.module(Bt.config.site.ng_app_name)
.filter('range', function () {
return function (input, min, max, padding){
min = parseInt(min);
max = parseInt(max);
padding = padding ? padding : false;
for (var i=min; i<=max; i++){
input.push(padding ? ("00" + i).slice (-2) : i + '');
}
return input;
};
});
选择
<select ng-options="n for n in [] | range:1:31:true" name="day" value="{{contestant.day}}" ng-model="contestant.day">
<option value="">DD</option>
</select>
输出
<select ng-model="contestant.day" value="" name="day" ng-options="n for n in [] | range:1:31:true" class="ng-pristine ng-valid">
<option value="" class="">DD</option>
<option value="0">01</option>
<option value="1">02</option>
<option value="2">03</option>
// and so on
</select>
应该是
<select ng-model="contestant.day" value="" name="day" ng-options="n for n in [] | range:1:31:true" class="ng-pristine ng-valid">
<option value="" class="">DD</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
// and so on
</select>
提前致谢。
答案 0 :(得分:3)
角度生成选项可能没有您期望的选项值。
当源是数组时,当源是对象时,值将是索引和键名。
但是,每当用户切换选项时,这不应该成为问题,angular会查找源内的索引位置并将该值分配给模型:
因此,如果用户选择01
,contestant.day
仍会保留01
,而不只是1
。