【问题标题】:Customize Jquery UI Datepicker自定义 Jquery UI 日期选择器
【发布时间】:2011-10-25 21:45:22
【问题描述】:

我很可能怀疑这是不可能的,但我想知道是否有人曾定制过在 Jquery UI 日期选择器上显示的日历以更改日期。 这是我的情况:我的公司使用会计年度而不是日历年,并且每年从不同的一天开始,实际上我同时制作了一个 excel 日历,我可以在 javascript 上使用该原理,我的问题是有一种方法可以在日历上设置初始日期并从那天开始计算周数...

例子

会计年度从 8 月 28 日(星期日)开始,因为: AUG28-SEPT3 = FW1
SEPT4-SEPT10 = FW2
SEPT11-SEPT17 = FW3
.
.
.
等等 ... 我想显示一个日历,其周数从 2011 年 8 月 28 日(fw1)开始,到 2012 年 8 月 25 日(fw52)结束。

我已经阅读了文档,但找不到任何相关内容,如果我不够清楚,请告诉我,以便我重新措辞。

【问题讨论】:

    标签: javascript jquery html jquery-ui


    【解决方案1】:

    您必须创建自己的周计算,请参阅jQuery UI calculateWeek 的文档。它是一个开始,但对那些文档没有太大帮助。这个blog post here 更有用。

    无论如何,这里是我设法破解的代码,请参阅下面的链接以查看它的工作原理。

  • 定义数据选择器:
    $("#mydatepicker").datepicker({
        calculateWeek: fisc,
        maxDate: '08/25/12',
        minDate: '08/28/11',
        showWeek: true
    });
    

  • 以及计算周数的函数:
    function fisc(date) {
        var checkDate = new Date(date.getTime());
        checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
        var time = checkDate.getTime();
        checkDate.setMonth(7); 
        checkDate.setDate(28);
        var week = (Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 2);
        if (week < 1) {
            week = 52 + week;
        }
        return 'FW: '+week;
    }
    

    Click here to see this in action

    我确定这可能不是执行此操作的完美方式,但它似乎适用于深夜的这个时间,希望它能为您指明正确的方向。

  • 【讨论】:

    • 老兄,这太棒了!它肯定会让我开始,非常感谢!
    • 嘿没问题,很高兴能够提供帮助!
    【解决方案2】:

    也许你可以试试

    $('.dateinput').datepicker({
        dateFormat:'yy-mm-dd',
        duration: 'normal',
        changeMonth: true,
        changeYear: true,
        showWeek: true,
        /*other options goes here...*/
        calculateWeek: function(mydate){
            return 'FW'+(
                $.datepicker.iso8601Week(mydate + 1/*offset A*/)+1/*or offsetB*/
            );
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2018-01-21
      • 1970-01-01
      相关资源
      最近更新 更多