2013-02-09 79 views
1

我的問題可能很簡單或類似於其他問題,但我只是無法完成此任務。如何分配一個javascript變量或一個數組與php變量

我正在嘗試動態禁用datepicker中的某些日期。 我只是運行一個查詢,它給出了一個假期列表。

$date[]=$year.'/'.$month.'/'.$day; // array 

,我使用破滅,這樣我可以有逗號分隔名單

$abc=implode(',',$date); 

所以$ ABC包含日期。

這裏是我的javascript

<script type="text/javascript"> 
//var Alldays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]; 
/* var disable= '<?php echo $info; ?>'; // yyyy/MM/dd*/ 
var disableDates="<?php =$abc; ?>"; 

//var disableDays = ["Saturday", "Sunday"]; 
//var disableDates = ["2013/02/26", "2013/02/28"]; 
alert (disableDates); 
function ShowDisableDates(date) { 
ymd = date.getFullYear() + "/" + ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2); 
//alert(ymd); 
//ymd= ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2) + "/" + date.getFullYear(); 
day = new Date(ymd).getDay(); 
if ($.inArray(ymd, disableDates) < 0) { 
return [true, "enabled", "Book Now"]; 
} else { 
return [false, "disabled", "Sold Out"]; 
} 
} 
$(function() { 
$("#datepicker").datepicker({beforeShowDay:ShowDisableDates}); 
}); 
</script> 

,但我無法從$ ABC訪問日期的JavaScript。

如果我聲明爲靜態的

var disableDates = ["2013/02/26", "2013/02/28"]; 

它工作正常

請指引我解決這個問題,謝謝

+1

考慮'json_encode()',並打開error_reporting。你的輸出語法是錯誤的。這是'?'='不''<?php =' – mario 2013-02-09 11:45:48

回答

3

如果$abc是一個數組:

var disableDates = <?= json_encode($abc); ?>; 
+0

你想刪除''' – hank 2013-02-09 11:48:05

+0

啊,是的,謝謝:) – 2013-02-09 11:49:06

+0

它的工作,謝謝@OneTrickPony – 2013-02-09 11:57:26

相關問題