通过点击完整日历发送参数
Send parameters by onclick full calendar
我使用完整的日历。它工作得很好。但我有问题通过onclick事件发送参数。这里是js:
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
minTime: 8,
maxTime: 21,
weekMode: 'liquid',
eventClick: function(start, end, allDay) { // Get the start, end, allday when one event slot is clicked
$('#time').val(start); // Set an hidden field with start value (String or Timestamp)
$('#hiddenEnd').val(end); // Set another hidden field with end value (String or Timestamp)
$('#hiddenAllDay').val(allDay); // Set another hidden field with allDay value (true or false)
},
events: "<?php echo Yii::app()->request->baseUrl; ?>/index.php/aula/calend/<?php echo $id; ?>",
eventRender: function (event, element) {
element.attr('href', 'javascript:void(0);');
element.attr('onclick', 'openModal("' + event.title + '","' + event.description + '","' + event.start + '");');
},
eventDrop: function(event, delta) {
alert(event.title + ' foi movido ' + delta + ' dia(s)'n' +
'(Esta acao nao altera o banco de dados!)');
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
});
function openModal(title, info, start) {
$("#eventInfo").html(info);
$("#start-time").val(start);
//var dd = start;
$("#add-event").dialog({ modal: true, title: title, width:550,
buttons: {
"Salvar": function() {
$.ajax({
type:"POST",
url: "<?php echo Yii::app()->request->baseUrl; ?>/index.php/aula/marcacao",
data: $('#add-event-form').serialize(),
success: function(){
$('#calendar').fullCalendar('refetchEvents');
}
});
$(this).dialog("close");
},
Cancel: function() {
$(this).dialog("close");
}
},});
};
当我点击一个事件时,我需要将该事件的小时发送给php,因为我需要在我的查询中使用它,然后使用这个表单打开对话框:
<form action="" id ="add-event-form" name="add-event-form">
<?php query = "SELECT aula FROM cursos WHERE hour = ****Hour clicked on calendar**** ?>
<label for="title">Event Name</label>
<input type="text" name="title" id="title"/>
<p>
<label for="add-date">Date</label>
<input type="text" name="event-date" id="event-date" tabindex="-1" />
</p>
<p>
<label for="add-start-time">Start Time</label>
<input type="text" name="start-time" id="start-time" value=""/>
</p>
<p>
<label for="add-end-time">End Time</label>
<input type="text" name="end-time" id="end-time" />
</p>
</form>
我已经尝试解决这个问题好几天了,但没有成功。有人能帮帮我吗?
用eventClick: function(event)
代替eventClick: function(start, end, allDay)
。然后使用事件访问变量。首先,事件。最终,event.allDay。你所需要做的就是将它们与你的查询进行匹配。
这是因为eventClick不接受start, end或allDay参数,而是一个事件,jsEvent或视图参数。来源:官方文档
在服务器端使用$_POST['start-time']检索参数
$start = htmlspecialchars($_POST['start-time']);
$query = "SELECT aula FROM cursos WHERE hour =". $start;
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- JavaScript打印功能使日历停止工作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 更新事件全日历中的开始参数
- 格式化日期字符串以适合 Google 日历作为参数
- 触发完整的日历刷新与参数选择
- 通过点击完整日历发送参数