jQuery datepicker,从MYSQL中禁用日期

时间:2010-10-25 11:25:12

标签: mysql json jquery-ui datepicker

我有一个存储在MYSQL表中的日期列表,我的想法是,如果以下字段的值已经“完成”,那么行的日期在jQueryUI日期选择器中是不可选择的。日期以YYYY-MM-DD格式存储。我如何将这些“已完成”日期加载到PHP数组中,格式为datepicker理解和禁用它们? JSON将是明显的答案,我花了几周的时间来掌握它。任何jquery / php代码的示例代码都将非常感激。

非常感谢提前。

[我已经围绕这个主题进行了研究,但是没有特别详细记录..我已经有了一个星期有效的日期选择器。 jqueryUI datepicker似乎能够做任何事情,除了让我喝一杯茶。 ]

编辑:所以我设法通过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);
    });
});

1 个答案:

答案 0 :(得分:2)

请尝试使用以下代码来匹配禁用日期集的情况。您可以使用jquery

的$ .getJSON从mysql表中使用json来获取日期
 $(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];
    }

来源:http://codingforums.com/showthread.php?t=206879