parseInt从单选按钮AngularJS返回值

时间:2017-01-20 04:24:38

标签: javascript angularjs radio-button

我一直试图解决这个问题几天......

我有一组单选按钮可以对1到5之间的内容进行评级,每个按钮设置为值= 1,值= 2,依此类推,作为评论表单的一部分。但是当数据返回到控制器并被推送到db.json文件时,单选按钮值的类型为string。如何让它们成为int类型?

单选按钮HTML代码:

<label class = "radio-inline" for = "one"><input type = "radio"
name = "rating" id = "one" data-ng-model = "userComment.rating" 
value = 1 required>1</label>

来自controllers.js的代码:

$scope.submitComment = function() {
  $scope.movie.comments.push($scope.userComment);
  myFactory.getMovies().update({id:$scope.movie.id}, $scope.movie);

我试过这个认为它会起作用,但它没有。

$scope.userComment.rating = parseInt($scope.userComment.rating);

2 个答案:

答案 0 :(得分:2)

只需尝试使用ng-value代替属性:

<label class = "radio-inline" for = "one"><input type = "radio"
name = "rating" id = "one" data-ng-model = "userComment.rating" 
ng-value = "1" required>1</label>

答案 1 :(得分:0)

有两种方法可以做到这一点。

  1. 就像你说的那样,使用parseInt(string)会给你一个整数。
  2. 因为,这不起作用,我们可以使用javascript的Number类将字符串转换为类型号。你可以这样做:

    $ scope.userComment.rating = Number($ scope.userComment.rating);