在beforeShowDay之前更新日期选择器工具提示 [英] Update datepicker tooltip in beforeShowDay

查看:122
本文介绍了在beforeShowDay之前更新日期选择器工具提示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个jQuery Datepicker,其中我突出显示日期并将文本成功添加到工具提示中.我有与本教程.我遇到的问题是,如果同一天有多个事件,那么旧工具提示将被最新添加的事件覆盖".我期待有一种附加"的方法(类似title + ='new event'),但是我找不到任何东西.

I have a JQuery Datepicker where I'm highlighting dates and adding text to the tooltip successfully. I have something very similar to this tutorial. The issue I'm having is if there are multiple events on the same date the old tooltip is being "overriden" by the event added most recently. I'm expecting there is a way to "append" (something like title+='new event') but I can't find anything on it.

$(document).ready(function() {
var SelectedDates = {};
SelectedDates[new Date('04/05/2014')] = 'event1';
SelectedDates[new Date('04/05/2014')] = 'event2';
SelectedDates[new Date('04/07/2014')] = 'event3';
SelectedDates[new Date('04/07/2014')] = 'event4';

$('#txtDate').datepicker({
    beforeShowDay: function(date) {
        var Highlight = SelectedDates[date];
        if (Highlight) {
            return [true, "Highlighted", Highlight];
        }
        else {
            return [true, '', ''];
        }
    }
    });
});

有关此问题的可行示例,请参见此处的小提琴:

See fiddle here with working example of the issue:

http://jsfiddle.net/4KFQ4/

理想的结果是在同一单元格中使用event1event2作为工具提示.

The ideal outcome is to have event1event2 as the tooltip in the same cell.

任何帮助将不胜感激.

推荐答案

您遇到的问题来自前几行:

The problem you're getting comes from your first few lines:

var SelectedDates = {};
SelectedDates[new Date('04/05/2014')] = 'event1';
SelectedDates[new Date('04/05/2014')] = 'event2';
SelectedDates[new Date('04/07/2014')] = 'event3';
SelectedDates[new Date('04/07/2014')] = 'event4';

在这里,您要将'event1'保存到SelectedDates,然后将'event2'保存到同一位置,从而覆盖数据.相反,您可以做的是这样的:

Here you're saving 'event1' into SelectedDates, then saving 'event2' into the same spot, overwriting the data. What you could do instead is something like this:

SelectedDates[new Date('04/05/2014')] = ['event1'];
SelectedDates[new Date('04/05/2014')].push('event2');
SelectedDates[new Date('04/07/2014')] = ['event3'];
SelectedDates[new Date('04/07/2014')].push('event4');

很显然,您可以将其简化为:

Obviously, you could simplify this to:

SelectedDates[new Date('04/05/2014')] = ['event1','event2'];
SelectedDates[new Date('04/07/2014')] = ['event3','event4'];

或者让您最开心的事情.

Or whatever makes you most happy.

这将在每个特定日期创建一个包含所有事件的数组,然后工具提示将包含每个事件.这是一个更新的小提琴,用于向您显示结果:单击此处.

This will create an array at each specific date with all the events, and the tooltip will then contain each event. Here is an updated fiddle to show you the results: Click Here.

希望这会有所帮助!

这篇关于在beforeShowDay之前更新日期选择器工具提示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆