javascript - 更新 beforeShowDay 中的日期选择器工具提示

标签 javascript jquery jquery-ui datepicker jquery-ui-datepicker

我有一个 JQuery Datepicker,我可以在其中突出显示日期并向工具提示成功添加文本。我有一些与 this tutorial 非常相似的东西。我遇到的问题是,如果同一日期有多个事件,则旧的工具提示将被最近添加的事件“覆盖”。我期待有一种方法可以“附加”(类似于 title+='new event'),但我找不到任何内容。

$(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, '', ''];
        }
    }
    });
});

请参阅此处的 fiddle 问题的工作示例:

http://jsfiddle.net/4KFQ4/

理想的结果是将 event1event2 作为同一单元格中的工具提示。

如有任何帮助,我们将不胜感激。

最佳答案

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

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' 保存到同一位置,覆盖数据。你可以这样做:

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');

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

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

或者任何让你最高兴的事情。

这将在每个特定日期创建一个包含所有事件的数组,然后工具提示将包含每个事件。这是一个更新的 fiddle ,向您展示结果:Click Here .

希望这有帮助!

关于javascript - 更新 beforeShowDay 中的日期选择器工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078629/

相关文章:

javascript - 具有延迟调整的 onclick 切换类

jquery-ui - jQuery UI 工具提示小部件自动关闭

javascript - 如何使用 testem 测试服务器 REST API

javascript - Jquery - 查找子ID的类

javascript - CKEDITOR 将 <b> 替换为 <strong> 和其他标签

javascript - jQuery 验证 - 密码必须包含大写字母和数字

javascript - 如何减少重复行?

jquery - 如何计算每个函数内元素的总数?

css - 更改 jQuery UI slider 大小

javascript - 使用 Javascript/Jquery 在单击按钮时更改 div 中的文本