【问题标题】:How to show specific datepickers with full dateformat?如何显示具有完整日期格式的特定日期选择器?
【发布时间】:2017-01-29 00:37:24
【问题描述】:

我有四个不同的日期选择器,它们都可以工作,但是在 Date1/Date2 上,我可以选择月/日/年,它只输出月/年。

如何让这两个日期选择器显示像 mm/dd/yyyy 这样的日期?

https://jsfiddle.net/km96dgsd/

$(function() {
     $('.date-picker').datepicker(
                    { yearRange: "1980:",
                        dateFormat: "mm/yy",
                        changeMonth: true,
                        changeYear: true,
                        showButtonPanel: true,
                        onClose: function(dateText, inst) {


                            function isDonePressed(){              return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
                            }

                            if (isDonePressed()){
                                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                                $(this).datepicker('setDate', new Date(year, month, 1)).trigger('change');

                                 $('.date-picker').focusout()//Added to remove focus from datepicker input box on selecting date
                            }
                        },
                        beforeShow : function(input, inst) {

                            inst.dpDiv.addClass('month_year_datepicker')



                            if ( $(input).is("#startDate2") || $(input).is("#startDate4") ) {
                                inst.dpDiv.addClass("hide-calendar");
                            }
                            else {
                                inst.dpDiv.removeClass("hide-calendar");
                            }
                        }
                    })
});

【问题讨论】:

    标签: jquery datepicker


    【解决方案1】:

    可以将其包装在 each 循环中并根据条件设置格式

    $('.date-picker').each(function() {
        var $input = $(this),
          useDays = $input.is('#startDate1, #startDate2'),
          dateFormat = useDays ? 'mm/dd/yy' : 'mm/yy';
    
        $input.datepicker({
          yearRange: "1980:",
          dateFormat: dateFormat,
          // .....
        });
    });
    

    DEMO

    【讨论】:

    • 但 Date2/Date4 与 Date1/Date3 不同
    • 那么我不明白你的问题以及你到底想要做什么。你说你想要 1 & 2 vs 3 & 4 的不同格式
    • 对于 date1/date2 我想要 dateformat mm/dd/yyyy 和 date3/date4 format mm/yyyy
    • 这就是我的演示正在做的不是吗?
    猜你喜欢
    • 2016-11-26
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多