jquery-datepicker发出格式化日期

时间:2012-04-24 12:38:26

标签: jquery jquery-ui-datepicker

我在jquery中有2个日期选择器,我将一天添加到一个选择器的日期并将其分配给另一个日期选择器,如下所示:

 /*assign date pickers*/
        $("#MainContent_txtActualShipDate").datepicker({
            dateFormat: 'mm/dd-yyyy',
            changeMonth: true,
            changeYear: true,
            showOtherMonths: true,
            selectOtherMonths: true
        });

        $("#MainContent_txtExpectedShipDate").datepicker({
            changeMonth: true,
            changeYear: true,
            showOtherMonths: true,
            selectOtherMonths: true,
            onSelect: function (selectedDate) {
                var date = $(this).datepicker('getDate');

                if (date) {
                    date.setDate(date.getDate() + 1);
                    $("#MainContent_txtActualShipDate").val(date);
                }

            }
        });

请注意,onSelect函数会添加一个日期并将其分配给#MainContent_txtActualShipDate,但其获得的值为“TUE APR 24 2012 00:00:00”。 我希望它只是'04 / 24/2012'所以mm / dd / yyyy。我阅读了jquery ui文档,并在stackoverflow上查找了一些示例,但没有一个工作。是否有人可以查看此代码并进行编辑以获得我想要的格式?

修改

以下是我将其更改为:

        $("#MainContent_txtExpectedShipDate").datepicker({
            dateFormat: 'mm/dd-yyyy',
            changeMonth: true,
            changeYear: true,
            showOtherMonths: true,
            selectOtherMonths: true,
            onSelect: function (selectedDate) {
                var date = $(this).datepicker('getDate');

                if (date) {
                    date.setDate(date.getDate() + 1);
                    var formattedDate = $.datepicker.formatDate('mm/dd-yyyy', date);
                    $("#MainContent_txtActualShipDate").val(formattedDate); 

//                    $("#MainContent_txtActualShipDate").val(date);
                }

            }
        });

但它显示了2012年12月4日的两年。

答案

以下是其他人的工作:

/*assign date pickers*/
        $("#MainContent_txtActualShipDate").datepicker({
            dateFormat: 'mm/dd/yy',
            changeMonth: true,
            changeYear: true,
            showOtherMonths: true,
            selectOtherMonths: true
        });

        $("#MainContent_txtExpectedShipDate").datepicker({
            dateFormat: 'mm/dd/yy',
            changeMonth: true,
            changeYear: true,
            showOtherMonths: true,
            selectOtherMonths: true,
            onSelect: function (selectedDate) {
                var date = $(this).datepicker('getDate');

                if (date) {
                    date.setDate(date.getDate() + 1);
                    var formattedDate = $.datepicker.formatDate('mm/dd/yy', date);
                    $("#MainContent_txtActualShipDate").val(formattedDate); 
                }

            }
        });
        /*end assign date pickers*/

由于

4 个答案:

答案 0 :(得分:4)

使用formatDate()功能:

var formattedDate = $.datepicker.formatDate('mm/dd/yy', date);
$("#MainContent_txtActualShipDate").val(formattedDate);

答案 1 :(得分:0)

尝试设置日期

$('#MainContent_txtActualShipDate').datepicker("setDate", date);

如果这不起作用,

$("#MainContent_txtActualShipDate").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear());

答案 2 :(得分:0)

你错过了dateFormat试试这个:

/*assign date pickers*/
    $("#MainContent_txtActualShipDate").datepicker({
        dateFormat: 'mm/dd/yy',
        changeMonth: true,
        changeYear: true,
        showOtherMonths: true,
        selectOtherMonths: true
    });

    $("#MainContent_txtExpectedShipDate").datepicker({
        dateFormat: 'mm/dd/yy',
        changeMonth: true,
        changeYear: true,
        showOtherMonths: true,
        selectOtherMonths: true,
        onSelect: function (selectedDate) {
            var date = $(this).datepicker('getDate');

            if (date) {
                date.setDate(date.getDate() + 1);
                var formattedDate = $.datepicker.formatDate('mm/dd/yy', date);
                $("#MainContent_txtActualShipDate").val(formattedDate); 
            }

        }
    });

答案 3 :(得分:0)

你的日期格式错误,需要'dd / mm / yy'

我也倾向于只向需要datepicker的任何字段添加一个类。因此,你可以做这样的事情......

$(".DatePick").datepicker({ dateFormat: 'dd/mm/yy', gotoCurrent: true });

保存必须多次分配。