将php数据输出到jquery数组? [英] Output php data into jquery array?

查看:76
本文介绍了将php数据输出到jquery数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用timesheet.js创建时间轴。数据将通过Wordpress中的自定义字段输入。我希望能够将php数据输出到jquery数组中。这可能吗?

I'm creating a timeline using timesheet.js. The data will be input via custom fields in Wordpress. I want to be able to output that php data into the jquery array. Is that possible?

这是我的php循环:

<?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循环我希望它以格式输出:

Here's the jquery, each time the php loops through I want it to output in the format:

<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>


推荐答案

这样做非常简单,真的:只需构建php中的数组,并回显其 json_encoded 值:

It's quite simple to do this, really: just construct the array in php, and echo its json_encoded value:

<?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变量,它的值将是一个数组数组,包含你需要创建的所有数据 new Timesheet('timesheet',2002,2013,theArray);

Job done, you now have a JS variable called theArray, and its value will be an array of arrays, containing all of the data you need to create new Timesheet('timesheet', 2002, 2013, theArray);

这篇关于将php数据输出到jquery数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆