Angularjs输入文本附加数字而不是添加它

时间:2015-10-28 02:40:33

标签: angularjs input append

当用户输入数字然后点击“+”时,它会追加计数,而不是为计数器执行添加。

但是在输入框中没有数字键的情况下执行“ - ”或“+”操作时它工作正常。

<div ng-app="myApp" ng-controller ="myCtrl">
  <span ng-click="count = count + 1">+</span>
  <input type="text" ng-model="count" valid-number>
  <span ng-click="count = count - 1"  ng-show="count > 0">-</span>
</div>

小提琴:http://jsfiddle.net/shenglim/Lyugypqk/4/

任何人都可以帮忙吗?谢谢!

3 个答案:

答案 0 :(得分:1)

尝试<input type="number">

type="text"的数据类型使其成为字符串"1" + 1 = "11"

JSFiddle~ http://jsfiddle.net/Lyugypqk/2/

答案 1 :(得分:1)

或者,您可以添加两种方法来增加和减少控制器中的值并使用它们,

    $scope.increment = function(){
        $scope.count++;
    };

    $scope.decrement = function(){
        $scope.count--;
    };

    <span ng-click="increment()">+</span>
    <input type="text" ng-model="count" valid-number>
    <span ng-click="decrement()" ng-show="count > 0">-</span>

答案 2 :(得分:1)

如果使用ng-click =&#34; test()&#34;

简单示例将起作用并执行基本添加,如果您需要从现有的返回字符串的json中检索,请尝试在JSON对象上使用parseInt()。