【发布时间】:2015-06-25 11:46:22
【问题描述】:
我正在使用 AngularJS 驱动的页面,我需要在只读输入文本字段内显示一个运行时钟(与 data-ng-model) 绑定的两种方式。为了模拟运行时钟,我使用了一个 JavaScript 调度程序setTimeout 每 1000 毫秒调用一个函数,它会更新 $scope 的属性值,该属性值又绑定到该输入文本字段。不知何故,输入字段中的值没有得到更新。所以我放置了一个 <pre />标记并使用 jQuery 选择器更新其内容。这工作正常,所以我需要帮助获取输入文本字段值,以便每秒更新一次。
我为此示例设置了jsFiddle。
HTML 如下:
<body data-ng-app="formApp">
<div data-ng-controller="FormCtrl">
Current Date and Time <input type="text" data-ng-model="formData.currentDateTime" readonly="readonly" size="60" />
</div>
<pre id="currentDateTime" style="font-size:1.5em;">
</pre>
</body>
AngularJS 应用模块和控制器声明如下:
(function() {
var formApp = angular.module("formApp", []);
formApp.controller("FormCtrl", function ($scope) {
$scope.formData = {};
$scope.formData.currentDateTime = new Date().toString();
(function updateCDT() {
$scope.formData.currentDateTime = new Date().toString();
document.getElementById("currentDateTime").innerHTML = $scope.formData.currentDateTime;
setTimeout(updateCDT, 1000);
})();
});
})();
【问题讨论】:
标签: javascript jquery html angularjs settimeout