使用jQuery更改模型绑定时不会更新

这是我的HTML:

<input id="selectedDueDate" type="text" ng-model="selectedDate" />

当我输入框中时,模型通过双向绑定机制进行更新。 甜。

但是,当我通过JQuery执行此操作时...

$('#selectedDueDate').val(dateText);

它不更新模型。 为什么?


Angular不知道这个变化。 为此,您应该调用$scope.$digest()或者在$scope.$apply()内进行更改$scope.$apply()

$scope.$apply(function() { 
   // every changes goes here
   $('#selectedDueDate').val(dateText); 
});

看到这个更好地理解脏检查

更新 :这是一个例子


只是使用;

$('#selectedDueDate').val(dateText).trigger('input');

我发现如果你不直接将变量放在范围内,它会更可靠地更新。

尝试使用一些“dateObj.selectedDate”,并在控制器中将selectedDate添加到dateObj对象,如下所示:

$scope.dateObj = {selectedDate: new Date()}

这对我有效。

链接地址: http://www.djcxy.com/p/23119.html

上一篇: model binding not updating when changed with jQuery

下一篇: Difference between Observer, Pub/Sub, and Data Binding