使用beforeShowDay和一个对象数组排除jQuery日期选择器中的日期

时间:2011-03-02 12:52:33

标签: jquery arrays jquery-ui-datepicker

我有一个对象数组,确定日期是否在数组中的最佳方法是什么,因此无法在jQuery日期选择器中选择它。如果需要,我可以将DateValue存储为日期。

var EventDates = [{"DateID: "1", DateValue: "3/1/2011", FormattedDate: Tue, Mar 1 2011"},
         {"DateID: "2", DateValue: "3/2/2011", FormattedDate: Wed, Mar 2 2011"}]


$('.juidateicon_ext').datepicker({
        showOn: "button",
        buttonImage: "/Content/images/icons/calendar.gif",
        buttonImageOnly: true,
        showOn: 'both',
        beforeShowDay: eventDays
 });

function eventDays(date) {

    1. Code to determine if "date" is in DateValue in the EventDates Array
    2. If date exist, return [false, ""];else return [true, ""];
}

1 个答案:

答案 0 :(得分:1)

我冒昧地清理你的EventDates数组:

var EventDates = [{
    "DateID": "1",
    "DateValue": "3/1/2011",
    "FormattedDate": "Tue, Mar 1 2011"},
{
    "DateID": "2",
    "DateValue": "3/2/2011",
    "FormattedDate": "Wed, Mar 2 2011"
}];

这是eventDays函数:

function eventDays(date) {
    var length = EventDates.length, i = 0;
    var event = null, eventDate = false;

    while (i < length && !eventDate) {
        event = EventDates[i];
        eventDate = new Date(event.DateValue).valueOf() === date.valueOf();
        i++;
    }

    return [!eventDate, ''];
}

以下是一个有效的例子:http://jsfiddle.net/andrewwhitaker/uYpnW/1/

希望有所帮助!