这是我的 HTML:
<input id="selectedDueDate" type="text" ng-model="selectedDate" />
当我在框中键入内容时,模型将通过 2 路绑定机制进行更新。甜的。
但是,当我通过 JQuery 执行此操作时...
$('#selectedDueDate').val(dateText);
它不会更新模型。为什么?
这是我的 HTML:
<input id="selectedDueDate" type="text" ng-model="selectedDate" />
当我在框中键入内容时,模型将通过 2 路绑定机制进行更新。甜的。
但是,当我通过 JQuery 执行此操作时...
$('#selectedDueDate').val(dateText);
它不会更新模型。为什么?
只需使用;
$('#selectedDueDate').val(dateText).trigger('input');
我发现如果你不直接将变量放在作用域上,它会更可靠地更新。
尝试使用一些“dateObj.selectedDate”并在控制器中将 selectedDate 添加到 dateObj 对象,如下所示:
$scope.dateObj = {selectedDate: new Date()}
这对我有用。
试试这个
var selectedDueDateField = document.getElementById("selectedDueDate");
var element = angular.element(selectedDueDateField);
element.val('new value here');
element.triggerHandler('input');
只需在函数末尾运行以下行:
$scope.$apply()