Javascript ngmodel未绑定select标记上的整数值
我将从服务中获取所选值作为整数,并需要将其作为整数发送回。请检查代码Javascript ngmodel未绑定select标记上的整数值,javascript,html,angularjs,Javascript,Html,Angularjs,我将从服务中获取所选值作为整数,并需要将其作为整数发送回。请检查代码 1. 2. 3. 4. 1. 2. 3. 4. 1. 2. 3. 4. select中的值被解释为字符串 您必须在字符串之后或之前使用字符串并转换/解析您的值。在ng模型中,您可以添加一个筛选器编号进行如下转换: ng-model="selectedvalue3 | number" 您可以按照此过程为数组中的值选择“作为标签”以及从控制器初始化值的更好方法 与控制器类似: $scope.selectedvalue3 =
1.
2.
3.
4.
1.
2.
3.
4.
1.
2.
3.
4.
select中的值被解释为字符串
您必须在字符串之后或之前使用字符串并转换/解析您的值。在ng模型中,您可以添加一个筛选器编号进行如下转换:
ng-model="selectedvalue3 | number"
您可以按照此过程
为数组中的值选择“作为标签”
以及从控制器初始化值的更好方法
与控制器类似:
$scope.selectedvalue3 = 30;
$scope.infos= [{age:21, name:"xx"},{age:20, name:"yyy"},{age:30, name:"zzz"},{age:40, name:"ppp"}];
和HTML格式:
<div>
<select ng-options="info.age as info.age for info in infos" ng-model="selectedvalue3"></select>
</div>
其中年龄是整数值。它可以帮助您添加一个将字符串解析为int的指令。例如,在您的select标记上,
转换为number
:
<select ng-model="selectedvalue" convert-to-number>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
我知道这很烦人,但您总是可以使用
parseInt
将t解析为int。
<select ng-model="selectedvalue" convert-to-number>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
.directive('convertToNumber', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModel) {
ngModel.$parsers.push(function(val) {
return parseInt(val, 10);
});
ngModel.$formatters.push(function(val) {
return '' + val;
});
}
};
});