disable date range in Joomla calendar
Asked Answered
G

5

14

I want to disable a date range in joomla calendar. Only the remaining days can be select. I have no idea how to do it. Plz help.

e.g. 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).

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

Gutow answered 20/2, 2012 at 12:45 Comment(5)
This ain't very easy at all, but see this for a bit of related code.Voyage
What are you trying to do specifically? You'll probably be better off writing something custom for this.Olympus
Ok, where exactly do you want to accomplish this? Is this in a custom component or extension? On the front end or in the admin back end?Olympus
@BrentFriar In a custom component @ the backend.Gutow
This might be worth checking out: #1890918Ataman
P
1

Set minDate and maxDate for your date limit, i.e.

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

Set variable newmindate and newmaxdate.

Pulcheria answered 13/7, 2012 at 13:36 Comment(0)
C
0

What I would do is add a little snippet of code in Javascript where any time you have an event on blur on that input you retrieve the value, check if it is > 2012-2-10 && < 2012-3-10, and if not clear the value of that input.

Cervicitis answered 11/5, 2012 at 7:6 Comment(0)
O
0

I ran into a similar problem with several Joomla sites that I administer. I was already using jQuery, so I decided to go with JQuery UI Datepicker which has an easy-to-use min/max date feature. 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.

Overalls answered 20/6, 2012 at 16:40 Comment(2)
Yes I tried spending lot of time with Joomla calender but failed. So I had to use JQuery UI Datepicker to do it but still thinking and hoping to do the same thing using joomla calender.Gutow
@Gutow let me know if you do... I too would like a native solution on my Joomla sites.Overalls
E
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);
        }

    });
});
Equalize answered 2/8, 2012 at 11:41 Comment(0)
W
0

3 years after your question and the calendar field in Joomla still can't do this. 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.

Wrongdoer answered 18/11, 2015 at 20:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.