jQuery日期选择器,禁用来自MYSQL的日期

3
我有一个存储在MYSQL表中的日期列表,如果以下字段的值为“completed”,则无法在jQueryUI日期选择器中选择该行的日期。日期以YYYY-MM-DD格式存储。如何将这些“completed”日期加载到PHP数组中,并以日期选择器可以理解和禁用它们的格式呈现? JSON可能是明显的答案,我已经花了最近几周的时间来熟悉它。非常感谢提供任何关于jquery / php代码的示例。

提前致谢。

[我已经对此问题进行了研究,但文档不是特别好。我已经让datepicker显示一周内有效的日期。jqueryUI datepicker似乎能够做任何事情,除了帮我泡杯茶。]

编辑:所以我已经成功通过JSON传递了具有“final”状态的日期数组,如果有帮助,我会提供代码:

    <?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格式检索,以日期列表的形式呈现。警告框会针对每个日期弹出一次。即将开始将它们呈现给我的日期选择器数组。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接