首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在wdCalendar jquery插件中显示月份名称而不是日期范围?

如何在wdCalendar jquery插件中显示月份名称而不是日期范围?
EN

Stack Overflow用户
提问于 2010-08-24 01:33:31
回答 2查看 2.7K关注 0票数 0

我最近开始在我的一个intranet站点上使用wdClendar jquery插件。它工作得很好,但有几个请求我似乎无法解决。我将日历默认设置为显示月份视图。当页面第一次加载时,日期范围应该在的位置显示为“加载”。我已经尝试了几种方法来强制它刷新,但直到我更改月份或更改视图,它才会刷新。这是第一个问题,甚至演示站点也表现出相同的行为。

Loading http://lh6.ggpht.com/_HzVXTmY0YG8/THKs5Gk_WRI/AAAAAAAAAFY/h10ozDSY_OE/s800/loading.PNG

我一直在使用Firefox/Firebug来调试javascript。如果我在var p = $("#gridcontainer").bcalendar(op).BcalGetOp();的代码中设置了一个断点并逐步执行它,它就可以工作。更新日期范围显示。但不是在页面的常规显示上,并且当页面加载时没有错误。在页面完全加载之前,似乎有一段代码正在运行。这是一段代码片段。

代码语言:javascript
复制
    $(document).ready(function() {    
    $("#content_table").width("95%");
       var view="month";          

        var DATA_FEED_URL = "/media/js/wdCalendar/php/datafeed.php";
        var op = {
            view: view,
            theme:3,
weekstartday:0,
            showday: new Date(),
            EditCmdhandler:Edit,
            DeleteCmdhandler:Delete,
            ViewCmdhandler:View,    
            onWeekOrMonthToDay:wtd,
            onBeforeRequestData: cal_beforerequest,
            onAfterRequestData: cal_afterrequest,
            onRequestDataError: cal_onerror, 
            autoload:true,
            url: DATA_FEED_URL + "?method=list",  
            quickAddUrl: DATA_FEED_URL + "?method=add", 
            quickUpdateUrl: DATA_FEED_URL + "?method=update",
            quickDeleteUrl: DATA_FEED_URL + "?method=remove"        
        };
        var $dv = $("#calhead");
        var _MH = document.documentElement.clientHeight;
        var dvH = $dv.height() + 2;
        op.height = _MH - dvH;
        op.eventItems =[];

        var p = $("#gridcontainer").bcalendar(op).BcalGetOp();
        if (p && p.datestrshow) {
            $("#txtdatetimeshow").text(p.datestrshow);
        }
        ...});

最后4行应该是更改显示的内容。其他所有内容(...)文件中有函数和jQuery选择器。

第二个问题是,我的客户希望在月份视图中显示月份名称,而不是日期范围。我对javascript的使用还不够先进,不能自己做这样的改变。

Loading http://lh6.ggpht.com/_HzVXTmY0YG8/THKs5ZTCdBI/AAAAAAAAAFc/sFBC8GLiqFY/s800/range.PNG

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2010-10-28 20:47:26

我认为这可以用下面的方法解决你的problems...replace,你的cal_afterrequest方法。

干杯,

麦克

代码语言:javascript
复制
        function cal_afterrequest(type)
        {
            switch(type)
            {
                case 1:
                    $("#loadingpannel").hide();
                    var theMonths= new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
                    //$("#txtdatetimeshow").text(this.datestrshow);
                    $("#txtdatetimeshow").text(theMonths[this.showday.getMonth()] + " " + this.showday.getFullYear());
                    break;
                case 2:
                case 3:
                case 4:
                    $("#loadingpannel").html("Success!");
                    window.setTimeout(function(){ $("#loadingpannel").hide();},2000);
                break;
            }
        }
票数 2
EN

Stack Overflow用户

发布于 2015-01-12 05:56:54

我还遇到了一个问题,发现问题出在ajax文件中

"datafeed.php“

更改为此

代码语言:javascript
复制
case "week":
  //suppose first day of a week is monday 
  //$monday  =  date("d", $phpTime) - date('N', $phpTime) + 1;
    if (date('N', $phpTime) == 7) {
        $sunday  =  date("d", $phpTime);
     } else {
        $sunday  =  date("d", $phpTime) - date('N', $phpTime);
    }
  //echo date('N', $phpTime);
  $st = mktime(0,0,0,date("m", $phpTime), $sunday, date("Y", $phpTime));
  $et = mktime(0,0,-1,date("m", $phpTime), $sunday+7, date("Y", $phpTime));
  break;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3550104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档