Angular.js: 向输入字段发送值时,ng-model 不会更新

创建于 2015-08-19  ·  3评论  ·  资料来源: angular/angular.js

示例:我有 3 个输入字段。 计算第一个和第二个输入字段的值,结果显示在第三个输入框中。

var1 = parseFloat($("#input1").val();
var2 = parseFloat($("#input2").val();
result = var1 + var2;

$("#input3").val(result);

<input type="number" id="input3" name="input3" ng-model="editForm.input3" ng-currency class="form-control input-sm" placeholder="input3">

我可以在 input3 的表单上看到结果,但是如何更新模型?

最有用的评论

尝试这个-

$("#input3")
  .val(result)
  .trigger('change')

通常,您希望更新您的输入绑定到的模型(并让 angular 将其传播到视图),而不是直接更新您的视图。 后者通常仅用于单元测试。

所有3条评论

尝试这个-

$("#input3")
  .val(result)
  .trigger('change')

通常,您希望更新您的输入绑定到的模型(并让 angular 将其传播到视图),而不是直接更新您的视图。 后者通常仅用于单元测试。

实际上,这感觉不像是 Angular 代码。 在 Angular 中,情况正好相反:您更新模型,更改会反映在视图中。 (模型是唯一的事实来源。)

因此,与其尝试设置值并期望更新模型,您应该更新模型 ( editForm.input3 ) 并且元素的值将因此更新。

也就是说,这是一个普遍的支持问题,应提交给适当的渠道
GitHub 问题保留用于错误报告和功能请求。

这对我的 typeahead+bloodhound 与 angularJS 的集成很方便

此页面是否有帮助?
0 / 5 - 0 等级