我有一个存储在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);
});
});
答案 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];
}