model binding not updating when changed with jQuery
This is my HTML:
<input id="selectedDueDate" type="text" ng-model="selectedDate" />
When I type into the box, the model is updated via the 2-way-binding mechanism. Sweet.
However when I do this via JQuery...
$('#selectedDueDate').val(dateText);
It doesn't update the model. Why?
Angular doesn't know about that change. For this you should call $scope.$digest()
or make the change inside of $scope.$apply()
:
$scope.$apply(function() {
// every changes goes here
$('#selectedDueDate').val(dateText);
});
See this to better understand dirty-checking
UPDATE : Here is an example
只是使用;
$('#selectedDueDate').val(dateText).trigger('input');
I have found that if you don't put the variable directly against the scope it updates more reliably.
Try using some "dateObj.selectedDate" and in the controller add the selectedDate to a dateObj object as so:
$scope.dateObj = {selectedDate: new Date()}
This worked for me.
链接地址: http://www.djcxy.com/p/23120.html上一篇: 如何使用ng循环由函数返回的项目
下一篇: 使用jQuery更改模型绑定时不会更新