【问题标题】:Jquery Datepicker is stuck on the same yearJquery Datepicker 卡在同一年
【发布时间】:2015-04-28 07:37:52
【问题描述】:

所以我有我的功能(使用 ajax):

function show_statsMonth($element,$id,$annee)
{
    $objResponse = new xajaxResponse();
    $tpl = new PHPTAL();
    $tpl->setTemplate('templates/lightboxes/statsDays.tpl.xhtml');

    $data = array();

    /*Enregistrement du nombre d'acces par mois dans un tableau*/
    $objDatabase = QApplication::$Database[1];
}

在我创建了两个日期之后

$dateL = explode('-', date("Y-m-d",mktime(0,0,0,2,1)) );
    $dayL = new QDateTime();
    $dayL->setDate(intval($dateL[0]), intval($dateL[1]), intval($dateL[2]));
    $dateF = explode('-', date("Y-m-d",mktime(0,0,0,1,1)) );
    $dayF = new QDateTime();
    $dayF->setDate(intval($dateF[0]), intval($dateF[1]), intval($dateF[2]));

     if($annee ==NULL){
        $annee='2015';
     }
     else{
        $dayL->setDate(intval($annee), intval($dateL[1]), intval($dateL[2]));
        $dayF->setDate(intval($annee), intval($dateF[1]), intval($dateF[2]));
    }

最后我调用我的模板,我有我的 Jquery Datepicker 像这样:

$objResponse->call("activateDatePickerMonth2",$element,$id,'new');

我的日期选择器是这样的:

function activateDatePickerMonth2(element,id,action) {

            $("#watchby li a").removeClass("active");
            $("#as_a_month").addClass("active");
            $('.date-picker').datepicker( "destroy" );
            $('.date-picker').datepicker( {
                changeYear: true,
                showButtonPanel: false,
                dateFormat: 'yy-mm',
              onChangeMonthYear: function(year, month, inst) {
                    dpY=year;
                    dpM=month;

                    xajax_show_statsMonth(element,id,dpY);

                     }

            });$

我不知道为什么,但我的日期选择器卡在同一年,我无法更改我选择的年份,它卡在“2015”

我的问题是为什么,以及如何使用我在日期选择器上给出的年份创建一个新模板,以显示新的统计数据。

【问题讨论】:

  • 第二个coden-p在什么函数/代码中的什么位置?

标签: javascript php jquery datepicker xajax


【解决方案1】:

我的猜测是这段代码导致了问题:

// I do not see $annee being used before this, so it might be always NULL here
if($annee == NULL){
    $annee='2015';
    // I also do not see $annee being used again after this. If we set it to '2015' where is it used again?
}else{
    $dayL->setDate(intval($annee), intval($dateL[1]), intval($dateL[2]));
    $dayF->setDate(intval($annee), intval($dateF[1]), intval($dateF[2]));
    // Why are you setting the dates again here, if you just set them above?
}

您能澄清一下这段代码吗?

【讨论】:

  • 我在这里所做的,就像我用参数 $annee 调用我的函数,我说如果它为空,$annee 取 2015,因为当我调用我的 datepicker 时,年份默认为 2015跨度>
  • 当我点击一个按钮来显示统计数据时,我每次都点击它
  • 好吧,我认为$annee 总是在这里被重置为'2015',这就是问题所在。
  • 我创建了另一个函数,所以我有一个显示统计信息,另一个刷新,现在,它似乎工作了:) 谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-05-27
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多