簡體   English   中英

在beforeShowDay之前更新日期選擇器工具提示

[英]Update datepicker tooltip in beforeShowDay

我有一個jQuery Datepicker,在其中突出顯示日期並將文本成功添加到工具提示中。 我有一些與本教程非常相似的東西。 我遇到的問題是,如果同一天有多個事件,那么舊工具提示將被最新添加的事件“覆蓋”。 我期望有一種“附加”的方法(類似於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, '', ''];
        }
    }
    });
});

請參閱此處的小提琴和問題的工作示例:

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

或任何使您最快樂的事情。

這將在每個特定日期創建一個包含所有事件的數組,然后工具提示將包含每個事件。 這是更新的小提琴,以向您顯示結果: 單擊此處

希望這會有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM