如何将数据从PHP数组传递到Javascript
我试图使用引导年份日历,但无法以正确的方式传递值 我有一个数组,其中包含以下数据:如何将数据从PHP数组传递到Javascript,javascript,php,jquery,arrays,Javascript,Php,Jquery,Arrays,我试图使用引导年份日历,但无法以正确的方式传递值 我有一个数组,其中包含以下数据: <?php $data = array( array( "startDate" => "2016-1-4", "endDate" => "2016-1-4" ), array( "startDate" => "2016-1-8", "endDate" => "2016-1-8" ),
<?php
$data = array(
array(
"startDate" => "2016-1-4",
"endDate" => "2016-1-4"
),
array(
"startDate" => "2016-1-8",
"endDate" => "2016-1-8"
),
array(
"startDate" => "2016-1-16",
"endDate" => "2016-1-16"
)
);
?>
但我必须这样做:
<?php // I have here my $data array ?>
<div id="calendar"></div>
<script>
$(function() {
$('#calendar').calendar({
dataSource: [
{
startDate: new Date(2016, 1, 4),
endDate: new Date(2016, 1, 4)
},
{
startDate: new Date(2016, 1, 8),
endDate: new Date(2016, 1, 8)
}
,
{
startDate: new Date(2016, 1, 16),
endDate: new Date(2016, 1, 16)
}
]
});
});
</script>
$(函数(){
$(“#日历”)。日历({
数据源:[
{
起始日期:新日期(2016年1月4日),
结束日期:新日期(2016年1月4日)
},
{
起始日期:新日期(2016年1月8日),
结束日期:新日期(2016年1月8日)
}
,
{
起始日期:新日期(2016年1月16日),
结束日期:新日期(2016年1月16日)
}
]
});
});
如何将$data数组传递给'datasource'变量?使用json:
做点像
<?php
$data = array(
array(
"startDate" => "2016-1-4",
"endDate" => "2016-1-4"
),
array(
"startDate" => "2016-1-8",
"endDate" => "2016-1-8"
),
array(
"startDate" => "2016-1-16",
"endDate" => "2016-1-16"
)
);
echo '<script>var data = '.json_encode($data).'</script>';
?>
<script>
$.each(data, function(i, v) {
$.each(v, function(x, t) {
data[i][x] = new Date(t);
});
});
$(function() {
$('#calendar').calendar({
dataSource: JSON.parse(data)
});
});
</script>
$。每个(数据、功能(i、v){
$。每个(v,函数(x,t){
数据[i][x]=新日期(t);
});
});
$(函数(){
$(“#日历”)。日历({
数据源:JSON.parse(数据)
});
});
附言:你可能需要稍微调整一下日期
演示:您可以在页面加载时执行类似操作(如果是PHP页面),或者使用AJAX接收数据
var data = <?php echo json_encode($data); ?>;
最终的代码看起来像
var data = <?php echo json_encode($data); ?>;
$(function() {
$('#calendar').calendar({
dataSource: data
});
});
var数据=;
$(函数(){
$(“#日历”)。日历({
数据源:数据
});
});
是的,您可以使用json\u encode()
var-jArray=;
for(var){
警报(jArray[i]);
}
使用json,json是您的朋友可能的重复,感谢您的回答。我试过这个方法,但不起作用。我认为问题在于我将日期从PHP传递到javascript的方式。当我使用javascript数组时,它工作得很好。但是在这种情况下,我不知道如何将PHP日期转换为javascript。@madlin数据源
应该是一个数组,而不是数组string@azad是madalin不是madlin我已经更新了我的答案@madalinivascu@SergioJerezConde看见
var data = <?php echo json_encode($data); ?>;
$(function() {
$('#calendar').calendar({
dataSource: data
});
});
<---Your array in php--->
<script type="text/javascript">
var jArray= <?php echo json_encode($phpArray ); ?>;
for(var<your loop>){
alert(jArray[i]);
}
</script>