简体   繁体   English

在Joomla日历中禁用日期范围

[英]disable date range in Joomla calendar

I want to disable a date range in joomla calendar. 我想在joomla日历中禁用日期范围。 Only the remaining days can be select. 只能选择剩余的天数。 I have no idea how to do it. 我不知道该怎么做。 Plz help. Plz的帮助。

eg If I say 2012-2-20 to 2012-3-20 then only days in this range can be select all other has to be disable(or can not select). 例如,如果我说2012-2-20到2012-3-20那么只有这个范围内的天可以选择所有其他必须禁用(或不能选择)。

Joomla Calendar Doc http://docs.joomla.org/API16:JHtml/calendar Joomla Calendar Doc http://docs.joomla.org/API16:JHtml/calendar

Set minDate and maxDate for your date limit, ie minDatemaxDate设置为您的日期限制,即

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

Set variable newmindate and newmaxdate . 设置变量newmindatenewmaxdate

我要做的是在Javascript中添加一小段代码,任何时候你在该输入上有模糊事件时检索值,检查它是否> 2012-2-10 && < 2012-3-10 ,如果不清楚那个输入的价值。

I ran into a similar problem with several Joomla sites that I administer. 我遇到了几个我管理的Joomla网站的类似问题。 I was already using jQuery, so I decided to go with JQuery UI Datepicker which has an easy-to-use min/max date feature. 我已经在使用jQuery了,所以我决定使用JQuery UI Datepicker ,它具有易于使用的最小/最大日期功能。 If you're already using these libraries, or if you're willing to 1) add them and 2) potentially mess up your design unity, I would recommend it. 如果您已经在使用这些库,或者您愿意1)添加它们并且2)可能会破坏您的设计统一性,我会推荐它。

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

    });
});

3 years after your question and the calendar field in Joomla still can't do this. 在您的问题和Joomla的日历字段后3年仍然无法做到这一点。 However, you can set a minimum year and a maximum year (but not a minimum month and a maximum month) by just editing the file media/system/js/calendar.js and changing the values of this.minYear and this.maxYear to the values of your choice. 但是,您可以通过编辑文件media/system/js/calendar.js并更改this.minYearthis.maxYear的值来设置最小年份和最大年份(但不是最小月份和最长月份)你选择的价值观。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM