Javascript 将php数据输出到jquery数组?
我正在使用timesheet.js创建时间线。数据将通过Wordpress中的自定义字段输入。我希望能够将php数据输出到jquery数组中。可能吗 这是我的php循环:Javascript 将php数据输出到jquery数组?,javascript,php,jquery,json,wordpress,Javascript,Php,Jquery,Json,Wordpress,我正在使用timesheet.js创建时间线。数据将通过Wordpress中的自定义字段输入。我希望能够将php数据输出到jquery数组中。可能吗 这是我的php循环: <?php if( have_rows('timeline') ): while ( have_rows('timeline') ) : the_row(); echo the_sub_field('start_date'); echo the_sub_field('end_dat
<?php if( have_rows('timeline') ):
while ( have_rows('timeline') ) : the_row();
echo the_sub_field('start_date');
echo the_sub_field('end_date');
echo the_sub_field('description');
echo the_sub_field('name');
endwhile;
endif; ?>
以下是jquery,每次php循环时,我都希望它以以下格式输出:
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {
new Timesheet('timesheet', 2002, 2013, [
['2002', '09/2002', 'A freaking awesome time', 'lorem'],
['06/2002', '09/2003', 'Some great memories', 'ipsum'],
['2003', 'Had very bad luck'],
['10/2003', '2006', 'At least had fun', 'dolor'],
['02/2005', '05/2006', 'Enjoyed those times as well', 'ipsum'],
['07/2005', '09/2005', 'Bad luck again', 'default'],
['10/2005', '2008', 'For a long time nothing happened', 'dolor'],
['01/2008', '05/2009', 'LOST Season #4', 'lorem'],
['01/2009', '05/2009', 'LOST Season #4', 'lorem'],
['02/2010', '05/2010', 'LOST Season #5', 'lorem'],
['09/2008', '06/2010', 'FRINGE #1 & #2', 'ipsum']
]);
});
});
</script>
jQuery(函数($){
$(文档).ready(函数(){
新时间表(“时间表”,2002年、2013年、[
['2002'、'09/2002'、'一段可怕的时光'、'lorem'],
['06/2002','09/2003','Some great memories','ipsum'],
['2003','运气很差',
['10/2003'、'2006'、'至少玩得开心'、'多乐'],
['02/2005'、'05/2006'、'享受那些时光'、'益普生'],
['07/2005'、'09/2005'、'再次倒霉'、'违约'],
['10/2005'、'2008'、'很久没有发生什么事'、'多洛'],
['01/2008','05/2009','LOST Season#4','lorem'],
['01/2009'、'05/2009'、'LOST Season#4'、'lorem'],
['02/2010','05/2010','LOST Season#5','lorem'],
['09/2008'、'06/2010'、'边缘#1和#2'、'同侧']
]);
});
});
是的,您需要回显
标记,并且您可以生成所需的任何Javascript:
<?php
echo '<script>';
if( have_rows('timeline') ):
echo 'var foo = ['
while ( have_rows('timeline') ) : the_row();
echo '"'.the_sub_field('start_date').'",';
echo '"'.the_sub_field('end_date').'",';
echo '"'.the_sub_field('description').'",';
echo '"'.the_sub_field('name').'"';
endwhile;
echo '];';
endif;
echo '</script>';
?>
是的,您需要回显
标记,并且您可以生成所需的任何Javascript:
<?php
echo '<script>';
if( have_rows('timeline') ):
echo 'var foo = ['
while ( have_rows('timeline') ) : the_row();
echo '"'.the_sub_field('start_date').'",';
echo '"'.the_sub_field('end_date').'",';
echo '"'.the_sub_field('description').'",';
echo '"'.the_sub_field('name').'"';
endwhile;
echo '];';
endif;
echo '</script>';
?>
这样做非常简单,实际上:只需用php构建数组,并回显其
json\u编码的值:
<?php
$array = array();
if( have_rows('timeline') ) {
while ( have_rows('timeline') ) : the_row();
$array[] = array(
the_sub_field('start_date'),
the_sub_field('end_date'),
the_sub_field('description'),
the_sub_field('name')
);
endwhile;
echo '<script> var theArray = '.json_encode($array).';</script>';
} ?>
工作完成后,您现在有一个名为theArray
的JS变量,它的值将是一个数组数组,包含创建新时间表所需的所有数据(“时间表”,2002年、2013年,theArray)代码>这样做其实很简单:只需用php构建数组,并回显其json\u编码的值:
<?php
$array = array();
if( have_rows('timeline') ) {
while ( have_rows('timeline') ) : the_row();
$array[] = array(
the_sub_field('start_date'),
the_sub_field('end_date'),
the_sub_field('description'),
the_sub_field('name')
);
endwhile;
echo '<script> var theArray = '.json_encode($array).';</script>';
} ?>
工作完成后,您现在有一个名为theArray
的JS变量,它的值将是一个数组数组,包含创建新时间表所需的所有数据(“时间表”,2002年、2013年,theArray)代码>你可以做到!使用ajax或Looping在php中创建一个数据数组,将其编码为json并在jqueryYou中读取json字符串即可!使用ajax或Looping在php中创建一个数据数组,将其编码为json并在jqueryOh中读取json字符串,但我没有意识到这一点!php会输出下面的jquery吗?@Rob:不会,因为这段代码不会引用任何值,并且会生成无效语法。实际上,@EliasVanOotegem的答案更有意义。首先构建您的阵列,然后将其回显json\u encode
d。我的答案只是概念。我实际上是这样做的。@Rob,His更好的原因是使用json_encode
可以创建多维数组和复杂对象,json_encode
每次都会正确地吐出来,而在我的例子中,你会回应每一件作品,创造更多的作品,为错误创造机会……哦,我没有意识到!php会输出下面的jquery吗?@Rob:不会,因为这段代码不会引用任何值,并且会生成无效语法。实际上,@EliasVanOotegem的答案更有意义。首先构建您的阵列,然后将其回显json\u encode
d。我的答案只是概念。我实际上是这样做的。@Rob,His更好的原因是使用json_encode
可以创建多维数组和复杂对象,json_encode
每次都会正确地吐出来,而在我的例子中,你会回应每一个片段,创造更多的工作,创造错误的机会……就我所理解的,这将输出我问题中jquery的等价物?我还需要用它做什么吗?@Rob:根据你在问题中告诉我们的,输出将是你需要的。只需将数组传递给时间表
构造函数,就像我所做的那样,你应该会很好地处理好,这很有意义,非常感谢。(请接受我的回答!)@Rob,jQuery arrays=Javascript数组。。。据我所知,jQuery在创建数组方面没有任何不同的语法(尽管它对数组/对象有一些简单的语法方法)json_encode
将创建json(=正确的Javascript表示法)以完全满足您的需要。@philtune:以防万一您不能100%确定:jQuery不会,也永远不会对数组使用不同的语法,因为jQuery是Javascript,因此在JS中有效的东西在jQ中也有效。就我所知,这将输出与我的问题中的jquery等价的结果?我还需要用它做什么吗?@Rob:根据你在问题中告诉我们的,输出将是你需要的。只需将数组传递给时间表
构造函数,就像我所做的那样,你应该会很好地处理好,这很有意义,非常感谢。(请接受我的回答!)@Rob,jQuery arrays=Javascript数组。。。据我所知,jQuery在创建数组方面没有任何不同的语法(尽管它对数组/对象有一些简单的语法方法)json\u encode
将创建json(=正确的Javascript表示法),完全符合您所寻找的目的。@philtune:以防万一,您不能100%确定:jQuery不会,也永远不会有不同的数组语法,因为jQuery是Javascript,因此在JS中有效的东西在jQ中也有效。