Gre*_*reg 98 javascript data-binding jquery angularjs angular-ngmodel
这是我的HTML:
<input id="selectedDueDate" type="text" ng-model="selectedDate" />
Run Code Online (Sandbox Code Playgroud)
当我在框中输入时,模型通过双向绑定机制进行更新.甜.
但是,当我通过JQuery这样做...
$('#selectedDueDate').val(dateText);
Run Code Online (Sandbox Code Playgroud)
它不会更新模型.为什么?
Ren*_*des 133
Angular不知道这种变化.为此,您应该在以下内容中调用$scope.$digest()或进行更改$scope.$apply():
$scope.$apply(function() {
// every changes goes here
$('#selectedDueDate').val(dateText);
});
Run Code Online (Sandbox Code Playgroud)
请参阅此内容以更好地了解脏检查
更新:这是一个例子
Jan*_*uri 27
只是用;
$('#selectedDueDate').val(dateText).trigger('input');
Run Code Online (Sandbox Code Playgroud)
Ben*_*ros 16
我发现如果你不直接将变量放在范围内,它会更可靠地更新.
尝试使用一些"dateObj.selectedDate"并在控制器中将selectedDate添加到dateObj对象,如下所示:
$scope.dateObj = {selectedDate: new Date()}
Run Code Online (Sandbox Code Playgroud)
这对我有用.
小智 5
尝试这个
var selectedDueDateField = document.getElementById("selectedDueDate");
var element = angular.element(selectedDueDateField);
element.val('new value here');
element.triggerHandler('input');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
176726 次 |
| 最近记录: |