在Joomla日历中禁用日期范围

时间:2012-02-20 12:45:40

标签: javascript jquery joomla joomla1.5 joomla1.7

我想在joomla日历中禁用日期范围。只能选择剩余的天数。我不知道该怎么做。 Plz的帮助。

e.g。如果我说2012-2-20到2012-3-20那么只有这个范围内的天可以选择所有其他必须禁用(或不能选择)。

Joomla日历文档 http://docs.joomla.org/API16:JHtml/calendar

5 个答案:

答案 0 :(得分:1)

设置minDatemaxDate作为日期限制,即

$("#start_date").datepicker({
    dateFormat:'yy-mm-dd',
    showOn: 'button',
    buttonImageOnly: true,
    minDate: newmindate ,
    maxDate: newmaxdate 
});

设置变量newmindatenewmaxdate

答案 1 :(得分:0)

我要做的是在Javascript中添加一小段代码,只要您在该输入上有模糊事件,就可以检索该值,检查它是否为> 2012-2-10 && < 2012-3-10,以及 如果不清楚那个输入的值。

答案 2 :(得分:0)

我遇到了与我管理的几个Joomla网站类似的问题。我已经在使用jQuery了,所以我决定使用JQuery UI Datepicker,它具有易于使用的最小/最大日期功能。如果您已经在使用这些库,或者您愿意1)添加它们并且2)可能会破坏您的设计统一性,我会推荐它。

答案 3 :(得分:0)

<div>
    <input name="StartDate" id="StartDate" type="text" readOnly="readonly" data-val-required="The From field is required." data-val="true" jQuery15106987620498322786="53"/>
    <input name="EndDate" id="EndDate" type="text" readOnly="readonly" data-val-required="The To field is required." data-val="true" jQuery15106987620498322786="54"/>
</div>

$(function () {
    var dates = $("#StartDate, #EndDate").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        changeYear: true,
        numberOfMonths: 1,
        minDate:0,
        dateFormat: 'dd/mm/yy',
        onSelect: function (selectedDate) {
            var option = this.id == "StartDate" ? "minDate" : "maxDate",
                    instance = $(this).data("datepicker"),
                    date = $.datepicker.parseDate(
                        instance.settings.dateFormat ||
                        $.datepicker._defaults.dateFormat,
                        selectedDate, instance.settings);
            dates.not(this).datepicker("option", option, date);
        }

    });
});

答案 4 :(得分:0)

在您的问题和Joomla的日历字段后3年仍然无法做到这一点。但是,您只需编辑文件media/system/js/calendar.js并将this.minYearthis.maxYear的值更改为,即可设置最低年份和最长年份(但不是最低月份和最长月份)您选择的价值观。