角度数据-bs-日期选择器指令 + 日期更改

Angular data-bs-datepicker directive + on date change

本文关键字:日期 指令 选择器 数据 -bs-      更新时间:2023-09-26

所以我有一个任务列表。每个任务都有一个计划开始日期和一个计划结束日期(计划开始日期/计划结束日期)。我使用 ng-repeat 来创建我的表。我需要一个简单的锚点,它在单击时触发日期选择器,并且:

    将开始日期
  • 设置为任务的计划开始日期(它永远不会为空)
  • 绑定到任务的计划结束日期,
  • 例如,每当选择一个值时,我都必须以某种方式捕获此事件,以便我可以更新任务的数据库值(计划结束日期)。
  • 我必须以以下格式显示日期:日/月/年

但:

    计划开始日期
  • 和计划结束日期都有以下格式:2015-01-01T00:00:00.000

目前,我的日期选择器如下所示:

         <a href="#" data-bs-datepicker
               data-date-startDate="task.plannedStartDate" data-ng-model="task.plannedEndDate"
               data-date-format="dd/mm/yyyy"
               data-date-type="string">
                {{task | dateIndication}}
            </a>

尝试过使用和不使用日期格式和日期类型,但似乎都没有帮助我。此外,如果我使用它,开始日期会自动设置为今天,即使任务的计划开始日期不是今天。(我猜这是日期格式问题?

我尝试在任务数组上放置一个手表:

$scope.$watch('tasks', function (newVal) { /*...*/ }, true);

(还有一些变化,如使用手表收藏等),但什么都没有!

变化根本没有被抓住。

(此外,日期指示筛选器如下所示:

 .filter('dateIndication', function () {
        return function (task) {
            if (task.plannedEndDate) {
                var plannedEndDate = moment(task.plannedEndDate);
                return plannedEndDate.format('L');
            } else {
                return messages.dashboard.todosAndTasks.noDueDate();
            }
        }
    })

我非常需要一些帮助。谢谢!

var change;
change = function(date) {
           var r;
           r = date.match(/^'s*([0-9]+)'s*-'s*([0-9]+)'s*-'s*([0-9]+)(.*)$/);
           return r[2] + "-" + r[3] + "-" + r[1] + r[4];
 };

使用此函数并在调用函数时传递日期,它将返回日期选择器的完美格式,它显示非常好,还有一件事您需要在传递日期之前拆分日期,然后它可以正常工作,请检查一下并告诉我有什么不同