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;
      });
    }
  };
});