0

我有一个 JQuery 函数,其中我使用“ beforeShowDay ”函数只启用了几个日期。我正在使用 onSelect 函数来获取选定的日期。幸运的是,他们俩都工作正常。但是这里有一个问题一旦我选择了一个日期,它的背景只会改变一小段时间,突出显示的背景又回到了当前日期。如果我删除 onSelect 函数,那么它工作正常。请帮助这是我的代码:

var dates = [[2013, 2, 1],[2013, 2, 9],[2013, 2, 25],[2013,3,15]];

$(function(){
      $('[id="form1:kix_inline"]').datepicker(
      {
    beforeShowDay: function (date)
        {

          var x= dates.length;
      var year = date.getFullYear(), month = date.getMonth(), day = date.getDate();
      for (var i=0; i < x; i++)
      {
         if (year == dates[i][0] && month == dates[i][1] - 1 &&  day == dates[i][2])
         {
            return [true, 'ui-state-highlight ui-state-active'];
         }
       }
      return [false];
    },

    onSelect: function(value, date) {

         var frm = document.getElementById("sendDateForm");
         frm.submit();

    }
    });
});

问题: 最初将启用仅有的几个日期(在“日期”上方的数组中提到)。一旦我单击这些日期中的任何一个,“当前日期样式”只会在那里停留几秒钟。它会再次反弹回当前日期。

请帮助[对不起,我的解释不清楚]

4

1 回答 1

1

看起来您正在 onSelect 函数中提交表单:

var frm = document.getElementById("sendDateForm");
    frm.submit();

提交重新加载页面,这就是为什么它只闪烁正确的颜色,然后恢复到原来的日期,页面已经重新加载!如果您需要发送表单而不是重新加载页面,则必须使用 ajax。

于 2013-02-14T13:19:43.853 回答