2017-01-02 2 views
0

У меня есть функция для отключения определенных дней до даты показа в datepicker, но у меня есть ошибка: когда я вызываю свою функцию в первый раз, она работает, но во втором вызове у меня все еще есть первая результат. Например, при первом вызове у меня отключено воскресенье, когда я снова вызываю функцию, у меня тоже воскресенье отключено. Я вижу, что ошибка в переменной, используемой в BeforShowDay, по-прежнему не изменяется только внутри datepicker, но на улице есть чейнджер в каждом вызове.BeforeShowDay не изменился в 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) { } 
    }); 
} 
+1

разве вы не получаете сообщение об ошибке '' перед вашей коммандой 'console.log'? – philantrovert

+0

Нет У меня нет обмана –

ответ

0

Я решить проблему Colling $('#txtDate').datepicker("destroy"); перед тем функцией AJAX. Теперь он работает.