4

我在 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);
                }

            }
        });

但它显示了两次 04/12/20122012 的年份。

回答

以下是将来对其他人有用的方法:

/*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

4 回答 4

4

使用formatDate()功能:

var formattedDate = $.datepicker.formatDate('mm/dd/yy', date);
$("#MainContent_txtActualShipDate").val(formattedDate);
于 2012-04-24T12:41:45.140 回答
0

尝试设置日期

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

如果这不起作用,

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

于 2012-04-24T12:42:57.070 回答
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); 
            }

        }
    });
于 2012-04-24T12:48:23.227 回答
0

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

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

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

无需多次分配。

于 2013-02-07T13:23:19.973 回答