2010-10-25 63 views
3

我有一個存儲在MYSQL表中的日期列表,這個想法是如果下面的字段已經賦值'completed',那麼該行的日期在jQueryUI datepicker中是不可選的。這些日期以YYYY-MM-DD格式存儲。我怎樣才能將這些'完成'日期加載到PHP數組中,使datepicker能夠理解和禁用它們? JSON將是明顯的答案,我花了幾周的時間來掌握它。任何jQuery/PHP代碼的示例代碼將不勝感激。jQuery datepicker,從MYSQL中禁用日期

非常感謝提前。

[我已經做了關於這個主題的研究,但它沒有特別好記錄..我已經有日期選擇器顯示一週內有效的日子。 jqueryUI日期選擇器似乎能夠做所有事情,除了讓我喝杯茶。 ]

編輯:所以我設法通過與JSON飼料與「最終」狀態日期的陣列,我想我提供的代碼,如果它可以幫助任何人:

<?php 

    //connect to local db 
    include('functions.php'); 
    connectLocal($localcon); 

    //locate rows with status set to final 
    $result = mysql_query("SELECT sendDate FROM my_table WHERE status='final'"); 

    // return corresponding dates as json array 
    $i=0; 
    while($row = mysql_fetch_array($result)) 
    { 
     $confirmedSends[$i] = array ("sendDate" => $row['sendDate']); 
     $i++; 
    } 
    header('Content-type: application/json'); 
    $jsonConfirmedSends = json_encode($confirmedSends); 
    echo $jsonConfirmedSends; 
?> 

這可以檢索與json以日期列表的形式。警報框會在每個日期彈出一次。即將開始將這些展示給我的datepicker數組。

$.getJSON("get-disabled-dates.php", 
function(data){ 
    $.each(data, function(index, completed) { 
     alert(completed.sendDate); 
    }); 
}); 

回答

2

請嘗試以下代碼以匹配您禁用日期集的情況。 http://codingforums.com/showthread.php?t=206879

:您可以通過使用JSON從使用jQuery的$ .getJSON

$(function() { 
      $("#pickdate").datepicker({ 
       dateFormat: 'dd MM yy', 
       beforeShowDay: checkAvailability 
       }); 

    }) 


    var $myBadDates = new Array("10 October 2010","21 October 2010","12 November 2010"); 

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

源你的MySQL表中獲取日期