全部发生,
我正在创建一个事件模块。通常在创建事件后,我们需要在单击日历中的日期时在弹出窗口中显示事件标题。它的工作。但如果我在同一天有多个事件,它只是显示第一个事件。
我在这里使用的模板引擎是SMARTY。我使用{literal}来区分smarty和JS。
以下是代码:
function getDateInfo(date, wantsClassName)
{
{/literal}{foreach from=$view_event item=event}{literal} // USED {literal} to differentiate SMARTY and Java Script.
var as_number = Calendar.dateToInt(date);
if (as_number >= {/literal}{$view_event.sdate}{literal} && as_number <= {/literal}{$view_event.edate}{literal})
return {
klass : "highlight2",
tooltip: "<div style='text-align: center'>From:{/literal}{$view_event.started_on|date_format:'%d-%m-%Y'}{literal} -- To:{/literal}{$view_event.end_on|date_format:'%d-%m-%Y'}{literal}<br>Event:{/literal}{$view_event.event_name}{literal}</div>"
};
{/literal}{/foreach}{literal}
return DATE_INFO[as_number];
};
我如何完成这个关键问题。
提前致谢...
答案 0 :(得分:0)
有趣。我想也许你的功能正在接受错误的论点。您的每个“事件”对象(您应该考虑使用其他名称,以避免冲突)应该具有某种与之关联的唯一ID。因此,当点击“事件”时,您将无法获得日期信息,而是获取“事件”信息。
function getEventInfo(evObj){
// get your info by evObj.id, or something similar
}