我有一个存储任务和元素的表,例如Date Completed。我在表上有一个按钮,用于标记任务已完成,并使用当前日期更新具有Date Completed列的表。如果我单击按钮将任务标记为当天完成,则将于2/2/2018进行。问题是,当我明天加载表时,它会自动将日期更新为2/3/2018。如何防止这种情况发生并保持原始日期?当我构建表时,输入items [i] .completed_date为%dateCompleted%。
HTML:
<tr class="rowTable dropdown-button" data-id="%todoID%" data-activates="todo_dropdown" data-context="true" data-type="edit-%canedit%" data-canedit="%canedit%" data-constrainwidth="false">
<td>
<div class="checkbox" data-complete="%notTrue%" data-show="hidden">
<div class="todo_checkbox"></div>
</div>
</td>
<td>%todoTitle%</td>
<td>%resources%</td>
<td class="%isOverdue%">%duedate%</td>
<td>%percentcomplete%</td>
<td class="completedCalendar">%dateCompleted%</td>
<td>
<div class="button">
<img id="optionsButton" src="/app/images/master/actions_btn.svg" />
</div>
</td>
</tr>
JavaScript:
if (completed) {
for (var i = 0; i < items.length; i++) {
if (items[i].id == itemsID) {
var itemsID = items[i].id;
items[i].progress = 100;
container.find(".checkbox").attr('data-complete', 'false');
for (var i = 0; i < items.length; i++) {
if (items[i].progress == 100) {
var completed = new Date();
items[i].completed_date = completed.toLocaleDateString();
}
if (items[i].progress != 100) {
items[i].completed_date = "";
}
}
}
}
}
答案 0 :(得分:0)
一旦页面刷新,所有数据都将重置,您只将其存储在本地内存中。您可以将它存储在缓存中或作为cookie存储,如果您只想测试到目前为止没有设置数据库来存储表中的内容。你可以将它存储在像这样的cookie中
document.cookie = itemID + '= { dateCompleted: ' + completed.toLocaleDateString() + ' }';