2014-02-15 42 views
-2

我的php頁面回聲如下:'2014-02-28','2014-03-01','2014-03-02'
這表示保留的日期。
現在我想把這個日期轉換成jQuery數組來告訴jQuery UI Datepicker來禁用它們。
jQuery代碼是這樣的:從jQuery數組中設置數據

var $unavailable= new Array('2014-02-28','2014-03-01','2014-03-02'); // Unavailable dates inserted manually. How to populate this array with php data? 

function checkAvailability(dates){ 
var $return=true; 
var $returnclass ="available"; 
$check= $.datepicker.formatDate('yy-mm-dd', dates); 
for(var i = 0; i < $unavailable.length; i++) 
    {  
     if($unavailable[i] == $check) 
      { 
     $return = false; 
     $returnclass= "unavailable"; 
     } 
    } 
return [$return,$returnclass]; 
} 
+0

你使用ajax? – anurupr

+0

不,我只有那個php頁面和jQuery。並希望將它們正確連接,以便將來自php的數據導入jQuery數組中 – jakob

+0

jQuery具有ajax功能,可以讓您正確連接它們。 https://api.jquery.com/jQuery.ajax/ – anurupr

回答

0

如果包含保留日期的頁面是一樣的包含JavaScript的網頁,所以你剛纔做這樣的事情:

var $unavailable= new Array(<?php echo $reserved;?>); 

但如果這是另一個頁面,所以你可以做這樣的事情:

var reserved=null; 
$.ajax({ 
     url: "LINK_TO_YOU_PHP_PAGE", 
     type: 'get', 
     dataType: 'html', 
     async: false, 
     success: function(data) { 
      reserved = data; 
     } 
    }); 

var $unavailable = reserved.replace(/\'/g, '').split(","); 

function checkAvailability(dates){ 
var $return=true; 
var $returnclass ="available"; 
$check= $.datepicker.formatDate('yy-mm-dd', dates); 
for(var i = 0; i < $unavailable.length; i++) 
    {  
     if($unavailable[i] == $check) 
      { 
     $return = false; 
     $returnclass= "unavailable"; 
     } 
    } 
return [$return,$returnclass]; 
} 
+0

我使用ajax,由於某種原因它不起作用。當我做保留警報它顯示日期,但陣列不工作 – jakob

+0

好吧,我已經改變了解決方案,嘗試新的不可用的變種 – zeomega