我在Symfony2(v.2.2.11)中有一个项目,其中我有一个日历(fullCalendar),当用户点击一天时,我打开一个带有表单的叠加层以及我的开始和结束日期将所选日期作为值(格式为yyyy-MM-dd)。如果我检查元素的值是正确的日期,但没有显示在输入框中,只显示当我点击日期(我使用jquery日期选择器)时,该值出现在输入框(新的)中。 / p>
这是我的开始和结束日期的FormType代码:
->add('startDate','date',array(
'label'=>'ueb_crossfit_class.form.event.labels.startDate',
'widget' => 'single_text',
'format' => "yyyy-MM-dd",
'attr' => array('class' => "input-date datepicker")
))
->add('endDate','date',array(
'required' => false,
'label'=>'ueb_crossfit_class.form.event.labels.endDate',
'widget' => 'single_text',
'format' => "yyyy-MM-dd",
'attr' => array('class' => "input-date datepicker")
))
这是生成的输入(对于开始日期):
<input id="ueb_crossfiterz_bundle_classbundle_eventtype_startDate" class="input-date datepicker hasDatepicker" type="date" value="2013-12-27" required="required" name="ueb_crossfiterz_bundle_classbundle_eventtype[startDate]">
我已经使用Firefox和Chrome进行了测试,两者都没有显示值,但只有Firefox在输入中显示红线(如图所示)。
[UPDATE] 正如评论中所述,这是我用于初始化fullCalendar的js代码:
$(function () {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#calendar-holder').fullCalendar({
header: {
left: 'prev, next',
center: 'title',
right: 'month,agendaWeek,agendaDay,'
},
lazyFetching:true,
selectable: true,
timeFormat: {
// for agendaWeek and agendaDay
agenda: 'HH:mm{ - HH:mm }', // 5:00 - 6:30
// for all other views
'': 'HH:mm{ - HH:mm }' // 7p
},
eventSources: [
{
url: Routing.generate('ueb_class_getEvents'),
type: 'POST',
error: function() {
//alert('There was an error while fetching Google Calendar!');
}
}
],
eventClick: function(event) {
clickEvent(event);
return false;
},
select: function(start, end, allDay){
selectEvent(start, end, allDay);
}
});
});