2013-02-09 3 views
1

Мой вопрос может быть простым или похожим на другой вопрос, но я просто не могу выполнить эту задачу.Как назначить переменную javascript или массив с переменной php

Я пытаюсь отключить некоторые даты в datepicker динамически. Я просто запускаю запрос, который дает список праздников.

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

и я использую взрываться, так что я могу иметь запятой список разделенного

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

так $ а содержат даты.

Вот мой 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> 

Но я не в состоянии получить доступ даты из $ аЬса в JavaScript.

Если я объявить их как статические, как

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

Он отлично работает

Пожалуйста, руководство мне решить эту проблему, спасибо

+1

Рассмотрим 'json_encode()' и включите error_reporting. Ваш выходной синтаксис неверен. Это ' mario

ответ

3

Если $abc массив:

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

Вы хотите удалить '' ' – hank

+0

Ах да, спасибо :) –

+0

Это сработало, спасибо @OneTrickPony –

Смежные вопросы