首页 > 解决方案 > 无法使用 jQuery 将值设置为角度表单字段

问题描述

我想以编程方式将值设置为angular如下所示的字段:

<input id="testId" ng-model-options="{updateOn: 'blur'}"
       class="form-control ng-scope ng-valid-maxlength ng-valid-gcms-text
              ng-touched ng-dirty ng-valid-parse ng-invalid ng-invalid-required" 
              name="testName" type="text" ng-model="testName"
              maxlength="100" required="" aria-required="true"
              aria-invalid="true"
              aria-describedby="question-error-description-testId"> 

目前,我尝试了javascript设置值然后通过以下方式绑定它的简单方法:

document.getElementById("testid").value = "some value"
$("#testId").trigger("input");

这不起作用,因为值没有更新回角度模型。

标签: javascriptjqueryangularjs

解决方案


<div ng-app="myApp" ng-controller="myCtrl">

<input id="testId" ng-value="myVar" ng-model-options="{updateOn: 'blur'}"
       class="form-control ng-scope ng-valid-maxlength ng-valid-gcms-text
              ng-touched ng-dirty ng-valid-parse ng-invalid ng-invalid-required" 
              name="testName" type="text" ng-model="testName"
              maxlength="100" required="" aria-required="true"
              aria-invalid="true"
              aria-describedby="question-error-description-testId"> 

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.myVar = "some value";
});
</script>

推荐阅读