【问题标题】:BeforeShowDay doesn't changed in datepicker日期选择器中的 BeforeShowDay 没有改变
【发布时间】:2017-01-02 10:51:22
【问题描述】:

我有一个函数可以在 datepicker 中的显示日期之前禁用特定日期,但我有一个错误:当我第一次调用我的函数时它可以工作,但在第二次调用中我仍然有第一个结果。 例如,在第一次调用时,我禁用了周日,当我再次调用该功能时,我也禁用了周日。 我看到错误出现在BeforShowDay 中使用的变量中,datepicker 内部仍然没有更改,但外部是每次调用中的更改器。

这是我的代码:

function loadFreeDays (etablissement) {
  var array=[];
  $.ajax({
    type: "POST",
    url: "/promo3/etablissments/getFreeDays/"+etablissement,
    data:  {'etablissement': etablissement } ,
    dataType: 'json',
    success: function(response){
      $.each(response, function(i, value) {
        array.push(value);
      }),  

      /*console.log(" diasbled days are "+array); here variable still is changed  */ 

      $('#datepicker').datepicker({
        beforeShowDay: function(date){
          /* here array variable still not changed */
          for (i = 0; i < array.length; i++) {

            if (date.getDay() == array[i][0]) {
              return [false];
            }
          }
          var string = jQuery.datepicker.formatDate('d-m-yy', date); 
          var day = date.getDay(); 
          return [true, '']; 
        }
      });

    },
    error: function(x, e) { }
  });
}

【问题讨论】:

  • 在您评论console.log 之前,您没有收到, 的错误吗?
  • 不,我没有错误

标签: javascript jquery datepicker jquery-ui-datepicker


【解决方案1】:

我通过在 ajax 函数之前收集 $('#txtDate').datepicker("destroy"); 来解决问题。 现在可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多