【发布时间】:2015-03-19 10:53:31
【问题描述】:
我正在使用 AngularJS 创建一个工资单应用程序,其中包含一个页面,用户可以在该页面中编辑工作的开始时间和结束时间字段,并能够通过修改另外两个字段(小时和分钟),指的是在工作上工作的时间长度。
到目前为止,当用户使用 ng-change 更改开始时间或结束时间字段时,我已经能够使小时和分钟字段自动正确更新。我现在正试图以另一种方式做事,以便结束时间根据小时和分钟字段自动更新,虽然存储结束时间的变量已正确更新,但显示结束时间的输入字段没有改变。
这是四个字段的 HTML:
<label class="item item-input">
<span class="input-label">Start Time</span>
<input type="time" class="item-input input-label editable" ng-model="data.startTimeObject" ng-change="updateHoursAndMinutes('start')"/>
</label>
<label class="item item-input">
<span class="input-label">End Time {{data.endTimeObject.getHours()}}</span>
<input type="time" class="item-input input-label editable" ng-model="data.endTimeObject" ng-change="updateHoursAndMinutes('end')" />
</label>
<label class="item item-input">
<span class="input-label">Hours</span>
<input type="number" class="item-input input-label editable" min="0" max="24" ng-model="editedRecord.hours" ng-change="updateEndTime()" />
</label>
<label class="item item-input">
<span class="input-label">Minutes</span>
<input type="number" class="item-input input-label editable" min="0" max="59" ng-model="editedRecord.minutes" ng-change="updateEndTime()" />
</label>
以及updateEndTime()函数中的相关代码:
$scope.updateEndTime = function(){
.
.
.
.
$scope.data.endTimeObject.setHours(savedEndTimeHours + actualHourDifference);
$scope.data.endTimeObject.setMinutes(savedEndTimeMinutes + actualMinuteDifference);
}
“结束时间”标签旁边的 {{data.endTimeObject.getHours()}} 从 updateEndTime() 函数更新时正确显示小时数,但用户可以手动编辑结束时间的字段不会自动显示更新的结束时间值。
【问题讨论】:
标签: javascript angularjs angular-ngmodel ionic