jQuery、fullCalendar&;PHP循环——IE8上的尾随逗号中断事件呈现
我使用这个PHP/CodeIgniter代码在fullCalendar上生成事件jQuery、fullCalendar&;PHP循环——IE8上的尾随逗号中断事件呈现,php,javascript,jquery,loops,fullcalendar,Php,Javascript,Jquery,Loops,Fullcalendar,我使用这个PHP/CodeIgniter代码在fullCalendar上生成事件 $('#calendar').fullCalendar({ events: [ <?php foreach($cal_data as $row): ?> { title : '<?php echo $row->pt_name . ' ' . $row->v
$('#calendar').fullCalendar({
events: [
<?php foreach($cal_data as $row): ?>
{
title : '<?php echo $row->pt_name . ' ' . $row->value_2; ?>',
start : '<?php echo $row->date . 'T' . $row->time .'Z'; ?>',
url : '<?php echo base_url() . 'events/events_edit/' . $row->record_id; ?>',
color: '<?php echo $row->value_4; ?>'
}, // <=== this comma is the problem
<?php endforeach; ?>
],
etc...
$(“#日历”).fullCalendar({
活动:[
{
标题:“”,
开始:“”,
url:“”,
颜色:“”
},//看起来您正在构建JSON。为什么不实际构建JSON呢?更改代码以构建多维数组,而不是输出。您需要一个类似
$stuff = array(
'events' => array(
0 => array(
'title' => ...,
'start' => ...
'url' => ...
'color' => ...
),
// etc
),
// etc
));
通过分别构建数据和发送数据,可以确保一开始就正确无误,并让JSON编码器担心语法:
$('#calendar').fullCalendar(<?php echo json_encode($stuff); ?>);
$(“#日历”).fullCalendar();
这就是你用意大利面条代码得到的结果,把你的循环输出放在一个字符串中,然后运行trim($string,“,”)
Thank@charles——尽管有一个问题——当我听从你的建议时,最后的输出具有典型的JSON格式事件:{“86”:{“title”:“Test 1”,“start”:“2011-04-20T09:15:00Z”,“allday”:“false”,“url”:“http:\/\/example.com\/events\/events\u edit\/86”,“颜色”:“\35; FF9CB3”}
--fullCalendar不会理解这种格式--我如何将其格式化为我在OP上的代码?@torr,事件数组必须为零索引。如果它不是零索引,它将最终成为Javascript对象,而不是Javascript数组,这是问题的根源。明白了--删除了键现在可以完美地工作了--谢谢非常感谢您的帮助!引号需要在那里,因为JSON就是这样工作的。您可以将它们排除在外,但它们的出现永远不会有问题。如果没有显示事件,可能还有另一个问题。可能是它不理解日期格式。
$('#calendar').fullCalendar(<?php echo json_encode($stuff); ?>);