【问题标题】:how to get the result of adding the values of two text box inside angualrjs controller如何获得在angularjs控制器中添加两个文本框的值的结果
【发布时间】:2016-04-21 09:54:06
【问题描述】:

我想得到在控制器内添加两个文本框值的结果

  <div ng-app="">

        <p>First Number:
            <input type="text" ng-model="a" />
        </p>
        <p>Second Number:
            <input type="text" ng-model="b" />
        </p>
      <p>Second Number:
            <input type="text" ng-model="a+b" />
        </p>
</div>

我将获得附加值,但如果我使用模型中的表达式如何进入控制器

我得到的错误是 ngModelSet 不是函数

一旦用户在两个文本框中输入值,添加两个文本框的结果应该显示在第三个文本框中,并且有一个提交按钮,将值提供给控制器如何做到这一点,请帮助

【问题讨论】:

    标签: angularjs add angular-ngmodel


    【解决方案1】:

    使用ng-change="my_operation()"

    不要将 js 指令放在 'ng-change' 中,因为 $scope 可能是控制器的子级,会出现显示问题。

    像这样写函数my_operation

    $scope.my_operation = function() {
      $scope.c = $scope.a + $scope.b;
    };
    

    &lt;input type="text" ng-model="my_operation()" value="{{ c }}" /&gt;

    【讨论】:

      【解决方案2】:

      您需要在ng-model 指令中指定变量,而不是表达式。

      所以,这是无效的:&lt;input type="text" ng-model="a+b" /&gt;

      相反,在某处执行c = a + b 并设置ng-model="c"

      【讨论】:

        【解决方案3】:

            <p>First Number:
                <input type="text" ng-model="a" />
            </p>
            <p>Second Number:
                <input type="text" ng-model="b" />
            </p>
            <p>Answer:{{a+b}}</p>
        
            <div class="btn" ng-click=submitFnc(a+b) ng-disabled="!a||!b">Submit</div>
        

        在函数中

        $scope.submitFnc = function(ans) {
          $scope.ans = ans;
        };
        

        Pierre Emmanuel Lallemant 之前的回答也是正确的

        但是您在描述中的要求略有不同,也可以试试这个。

        【讨论】:

          【解决方案4】:

          试试这个

          <div ng-app="">
                  <p>First Number:</p>
                      <input type="text" ng-model="a" />
                  <p>Second Number: </p>
                      <input type="text" ng-model="b" />
                  <p>Final:</p>
                      <input type="text" value="{{ ans }}" />
                      <p>{{ans}}</p>
                   <button ng-click="finalResult()" class="btn-style">
          </div>
          

          在控制器中

          $scope.finalResult = function() {
            $scope.ans = $scope.a + $scope.b;
          };
          

          【讨论】:

          • 为什么使用div 而不是abutton?没有意义。
          猜你喜欢
          • 2016-10-07
          • 2019-11-13
          • 1970-01-01
          • 1970-01-01
          • 2020-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-05-24
          相关资源
          最近更新 更多