2013-07-11 96 views
0

我正在使用Ajax調用PHP以返回用戶可用的日期字符串,以使其變爲動態。jQuery Ui beforeShowDay - 禁用某些日期

我返回字符串返回到我的jQuery爲:

['7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'] 

然而,當我初始化日期選擇器,日期,該字符串不加載。

我不太確定爲什麼,我懷疑我的Ajax調用後我的成功功能。

我的jQuery代碼看起來是這樣的:

$('.vendor_id').change(function() 
    { 
     var vendor_id = $('option:selected', this).attr('title'); 

     var url = "/admin/po/get_user_dates/" + vendor_id; 

     $.ajax({ 
      type : "POST", 
      url : url, 
      success: function(unavaildates) 
      { 
       var disabledDays = unavaildates; 

       function disableAllTheseDays(date) { 
        var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 
        for (i = 0; i < disabledDays.length; i++) { 
         if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) { 
          return [false]; 
         } 
        } 
        return [true]; 
       } 


       $('.booking-date').datepicker(
         { 
          beforeShowDay: disableAllTheseDays, 
          numberOfMonths: 2, 
          dateFormat: 'DD, d MM, yy', 
          showButtonPanel: true 
         } 
       ) 

      } 
     }) 
    }) 

希望有人打電話幫我在這。

快速更新..在將disabledDays分配給['7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19- 2013','7-20-2013','7-21-2013','7-22-2013'] datePicker的作品...?

在此先感謝。

回答

2

因爲您從服務器檢索字符串而不是數組。

我會建議"'7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'"從服務器返回的字符串,不方brakets和創建數組是這樣的:

var unavaildates = "'7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'" 
var disabledDays = unavaildates.split(','); 
+0

謝謝@sdespont在PHP稍加修改端固定的 – StuBlackett

相關問題