javascript强制更新输入框上的ng-model值

标签 javascript angularjs pass-by-reference ngmodel

<form>
      Low: <input type="number" name="lowRange" 
            ng-model="weight" ng-model-options = "{updateOn:'submit'}">
      <button type="submit">Assign</button>
      <button type="button" ng-click="resetValue()">Discard</button>
</form>
<p>$scope.weight: {{weight}}</p>

weightng-model 绑定(bind)。通过使用 ng-model-options="{updateOn:'submit'}"ng-model 值仅在单击提交按钮后更新。
当用户修改输入中的值并单击丢弃时,我想将输入框中的值重置为当前的 ng-model 值。
我通过 ng-click="resetValue()"

来做到这一点
$scope.resetValue = function(){
    $scope.weight = $scope.weight; //if +1 here will update ng-model
  }

但是当变量相同时赋值不起作用。可能是因为它是通过引用分配的。
输入框中的值没有改变。有没有人知道如何强制输入框上的 ng-model 更新值?

这是一个演示:http://plnkr.co/edit/NQTieUmdEbxZeBsjk8Jw?%2F=preview&p=preview

最佳答案

您需要告诉输入字段重置。

<form name="myForm">
  Low: <input type="number" name="lowRange" ng-model="weight" ng-model-options = "{updateOn:'submit'}">
  <br>
  <button type="submit">Assign</button>
  <button type="button" ng-click="myForm.lowRange.$rollbackViewValue();">Discard</button>
</form>

关于javascript强制更新输入框上的ng-model值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44444936/

相关文章:

php - 通过引用方法传递对象数组

javascript - 单击内容时灯箱关闭

php - 如何在php中获取javascript post变量?

angularjs - 如何通过 $stateParams 传递对象?

javascript - 表单提交后如何检查提交的值整数?

java - JMockit 和按引用传递。我们中的一个一定是错的(而且可能是我!)

javascript - 在按钮之间切换 - 图像无法显示

javascript - 如何使用 Express 从一个端点发送多个查询?

javascript - 为什么需要使用工厂函数指定 Angular 模块,而不是像我指定 Node 模块那样?

programming-languages - 什么(仅有)仅通过引用的语言?