【发布时间】:2018-02-07 17:04:55
【问题描述】:
我在我的待办事项表中使用了一个日期选择器,用户可以使用它来选择某个日期。我正在使用它来选择某个“完成日期”,并且我只希望在待办事项标记为 100% 完成时打开日期选择器。现在,如果待办事项未标记为 100%,则日期选择器将打开。有谁知道如何添加条件语句
if (todos[i].progress != 100) { *dont open datepicker* }
我尝试将它添加到我的事件函数中,但它没有像我希望的那样工作。
HTML:最后一个 td 元素用于日期选择器。
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 class="tableData">
<div class="checkbox" data-complete="%notTrue%" data-show="hidden">
<div class="todo_checkbox"></div>
</div>
</td>
<td class="tableData">%todoTitle%</td>
<td class="tableData">%resources%</td>
<td class="%isOverdue% tableData">%duedate%</td>
<td class="tableData">%percentcomplete%</td>
<td class="completedCalendar tableData"><input value="%dateCompleted%" class="datepicker picker_input" data-id="%todoID%" id="todo_completeddate" style="border:none" readonly="readonly"/></td>
JavaScript:
$('.datepicker').on('change', function (e) {
var $targ = $(e.currentTarget);
var todoID = $targ.parents(".rowTable").data("id");
var todos = currentItems;
for (var i = 0; i < todos.length; i++) {
if (todoID == todos[i].id) {
if (todos[i].progress == 100) {
var dateSet = $('.datepicker[data-id=' + todoID + ']').val();
todos[i].completed_date = dateSet;
}
}
}
})
【问题讨论】:
-
你可以展示工作中的 plnkr 吗?
-
@Dipakchavda Idk 因为待办事项来自服务器,我认为我无法获取它们
标签: javascript jquery jquery-ui datepicker