【发布时间】:2013-09-18 00:21:56
【问题描述】:
我正在尝试将 PHP 数组转换为 jQuery 的 datetimepicker 以禁用某些日期的 javascript 数组。但我似乎无法在互联网上找到正确的答案。我正在为我的项目使用 Zend Framework。
<?php
$ConvertDateBack = Zend_Controller_Action_HelperBroker::getStaticHelper('ConvertDate');
$disabledDaysRange = array();
foreach($this->reservedDates as $dates) {
$date = $ConvertDateBack->ConvertDateBack($dates->reservation_date);
$disabledDaysRange[] = $date;
}
?>
<script>
var disabledDaysRange = $disabledDaysRange ???? Please Help;
$(function() {
function disableRangeOfDays(d) {
for(var i = 0; i < disabledDaysRange.length; i++) {
if($.isArray(disabledDaysRange[i])) {
for(var j = 0; j < disabledDaysRange[i].length; j++) {
var r = disabledDaysRange[i][j].split(" to ");
r[0] = r[0].split("-");
r[1] = r[1].split("-");
if(new Date(r[0][2], (r[0][0]-1), r[0][1]) <= d && d <= new Date(r[1][2], (r[1][0]-1), r[1][1])) {
return [false];
}
}
}else{
if(((d.getMonth()+1) + '-' + d.getDate() + '-' + d.getFullYear()) == disabledDaysRange[i]) {
return [false];
}
}
}
return [true];
}
$('#date').datepicker({
dateFormat: 'dd/mm/yy',
beforeShowDay: disableRangeOfDays
});
});
</script>
【问题讨论】:
-
你可以使用array.push函数来推送jquery数组中的值
-
你试过“var_dump($disabledDaysRange)”吗?只是看看你在 PHP 中的内容是否与你在 jQuery 中需要的内容相对应
-
JSON_ENCODE 检查这个php.net/manual/fr/function.json-encode.php
-
没有 jQuery 数组这样的东西。 JQuery 对象是 DOM 节点的集合(类似数组),但您不能通过网络发送 DOM 节点。您的意思是“javascript 数组”吗?
-
@Oliboy50 当我 vardump 它时返回:array(2) { [0]=> string(10) "13/09/2013" [1]=> string(10) "24/ 09/2013" }
标签: javascript php arrays