当前位置: 首页 > 知识库问答 >
问题:

JQuery datePicker选择多格式DD/MM/YY

魏元白
2023-03-14

使datePicker工作以选择多个日期。当用户选择多个日期并关闭日历时,文本框将以以下格式显示日期:

Thur Jan 03 2013 00:00:00 GMT +0000
Fri Jan 03 2013 00:00:00 GMT +0000
Sat Jan 04 2013 00:00:00 GMT +0000,

我的代码:

<script>

            $("#HolidayDate").addClass('date-pick');
            $('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val();
            (
                    {
                        createButton: false,
                        displayClose: true,
                        closeOnSelect: false,
                        selectMultiple: true,                  
                    }
            )
            .bind(
                'click',
                function () {
                    $(this).dpDisplay();
                    this.blur();
                    return false;
                }
            )
            .bind(
                'dateSelected',
                function (e, selectedDate, $td, state) {
                    console.log('You ' + (state ? '' : 'un') // wrap
                        + 'selected ' + selectedDate);
                }
            )
            .bind(
                'dpClosed',
                function (e, selectedDates) {
                    console.log('You closed the date picker and the ' // wrap
                        + 'currently selected dates are:');
                    console.log(selectedDates);
                    $('#HolidayDate').val( selectedDates );
                }
            );

    </script>

然而,我希望日期显示为DD-MM-YY。如果我使用注释掉的行

$('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val();

and run it as    $('.date-pick').datePicker({dateFormat: 'dd-mm-yy'}).val();

textbox将以正确的格式返回日期,但现在它只允许我一次选择一个日期。

请指教?

谢谢

共有1个答案

居焱
2023-03-14

这是因为你留下了选项,说它是一个选择倍数。

试试看

$('.date-pick').datePicker
            (
                    {
                        createButton: false,
                        displayClose: true,
                        closeOnSelect: false,
                        selectMultiple: true,   
                        dateFormat: 'dd-mm-yy'               
                    }
            )

看到我把它加到你以前的选项上了吗?

编辑

在阅读了kelvinlucks关于这个问题的文档之后,我明白了是什么导致了您的问题。返回的日期是javascript date对象,而不是字符串。您可以随意格式化它,但在重载方法dateSelected和dpClosed中,它们只是在没有格式化的情况下打印出来。

试试看:

.bind(
    'dateSelected',
    function(e, selectedDate, $td, state)
    {
        var date = selectedDate.getDate() + "-" + (selectedDate.getMonth() + 1) + "-" +     selectedDate.getFullYear();
        console.log('You ' + (state ? '' : 'un') // wrap
            + 'selected ' + date);

    }
)

我的日期格式不是很好,但你明白了。这里有一篇关于格式化日期的文章(http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript)

 类似资料:
  • 问题内容: 我对如何按日期格式排序有些困惑。 对于格式,您可以这样做: 您如何订购? 这不起作用: 问题答案: 您可以用来将字符串转换为MySQL日期值和结果: 但是,明智的做法是将列转换为数据类型,而不是使用字符串。

  • 问题内容: 我有一个格式。我希望它采用以下格式 以下是我尝试进行此转换的示例: 我得到的输出仍然不是格式。 请让我知道如何格式化从到 问题答案: 是自Unix纪元(1970年1月1日UTC:00:00)以来的毫秒数的容器。 它没有格式的概念。 输出…

  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为

  • 我正在尝试将yyyy-mm-dd't'hh:mm:ss.sssz格式的日期格式化为yyyy-mm-ddhh:mm:ss,这应该很容易,但我无法使其工作。 必须解析的日期形式为:2012-10-01T09:45:00.000+02:00 现在我使用这个简单的日期格式化程序来格式化它: 然而,这给出的输出类似于2012-10-01T09:45:00.000 UTC+00:00。 我还尝试使用“yyyy

  • 我从格式为yyyy-mm-dd(加上不需要的hh-mm-ss)的API中获取日期结果。我想在jQuery中将其转换为dd-mm-yyyy格式,最简单/最快的方法是什么? 目前我正在使用:(对于返回的字符串yyyy-mm-dd): 但是好像有点啰嗦。