当我点击日历中的某个项目时,它将显示其特定任务。一秒钟后,日历将消失。但我想展示任务而不会消失。当我添加一个函数来根据项目调用日历时,就会出现此问题。
这是进入jquery的代码
{
guyid = "";
$('.guyid').click(function (){
this.guyid = $(this).attr('id');
// alert('test:'+this.guyid);
CalenderCall(this.guyid);
});
function CalenderCall(guyid){
//alert(guyid);
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicDay'
},
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: guyid,
start: '2016-02-04'
},
{
title: 'Event1',
start: '2016-02-04'
},
{
title: 'Event1',
start: '2016-02-17'
},
{
title: 'Long Event',
start: '2016-02-06',
end: '2016-02-10'
}
// etc...
],
color: 'yellow', // an option!
textColor: 'black' // an option!
});
}
});
这是身体部位
<!-- <div style="width: auto; height: 200px; border: 2px solid black;"></div> -->
<a href="tasks.php"><b>Tasks</b></a><br>
<div style="position: absolute;">
<?php
$phplink = mysql_connect('localhost:3306', 'root', '');
if (!$phplink) {
die("Could not connect:" .mysql_error());
}
$db = mysql_select_db('jhoro_pm', $phplink) or die("Could not connect to db:" .mysql_error());
$result_guy = mysql_query("SELECT id, name, can_login FROM person WHERE can_login=1");
while ($row_guy=mysql_fetch_array($result_guy)) {
//echo '<input type="hidden" class="guyid" value="' .$row_guy[0]. '" />';
echo '<a href="index.php" class="guyid" id="' .$row_guy[0]. '">' .$row_guy[1]. '</a><br>';
}
?>
这是没有日历的项目。单击其中任何一个时,任务将显示日历。但是一秒钟后日历消失了
答案 0 :(得分:0)
好的,那你必须做类似下面的事情
首先用下面的代码更改你的代码。
<!-- <div style="width: auto; height: 200px; border: 2px solid black;"></div> -->
<a href="tasks.php"><b>Tasks</b></a><br>
<div style="position: absolute;">
<?php
$phplink = mysql_connect('localhost:3306', 'root', '');
if (!$phplink) {
die("Could not connect:" .mysql_error());
}
$db = mysql_select_db('jhoro_pm', $phplink) or die("Could not connect to db:" .mysql_error());
$result_guy = mysql_query("SELECT id, name, can_login FROM person WHERE can_login=1");
while ($row_guy=mysql_fetch_array($result_guy)) {
echo '<a href="javascript:void(0);" class="guyid" id="' .$row_guy[0]. '">' .$row_guy[1]. '</a><br>';
}
echo '<input type="hidden" id="selectedPerson" class="guyid" value="' .$row_guy[0]. '" />';
?>
1)从你的锚标签中删除href =“index.php”。 (href会调用每次点击,这就是你的日历消失的原因。 2)为选定的人设置隐藏字段。 (在循环的同时)。
现在,对jQuery代码进行一些精细修改。
{
guyid = "";
$('.guyid').click(function (){
this.guyid = $(this).attr('id');
$('#selectedPerson').val(this.guyid);
$('#calendar').fullCalendar('rerenderEvents');
});
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicDay'
},
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 1,
start: '2016-02-04'
},
{
title: 2,
start: '2016-02-04'
},
{
title: 3,
start: '2016-02-17'
},
{
title: 4,
start: '2016-02-06',
end: '2016-02-10'
}
],
eventRender: function(event, element) {
return (($('#selectedPerson').val()) == event.title);
},
color: 'yellow', // an option!
textColor: 'black' // an option!
});
});
这肯定会奏效。 如果你仍然卡在任何地方,请添加评论。
答案 1 :(得分:0)
保持现有代码(您在问题中提到的)原样。
只需添加如下的简单ajax网址即可加载明智的任务。
events: "urltofetchpersonwisetasks/?guyid="+guyid,
服务器以guyid作为请求参数获取此请求,并进行数据库调用以获取人员的任务并发送json响应。像json_encode(person_task_array)。这将自动加载所选人员的任务。