2010-10-25 69 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表中获取日期