Отключить диапазон дат в календаре Joomla

Я хочу отключить диапазон дат в календаре joomla. Можно выбрать только оставшиеся дни. Я понятия не имею, как это сделать. Помощь Plz.

например. Если я скажу 2012-2-20 2012-3-20, тогда только дни в этом диапазоне могут быть выбраны, все остальные должны быть отключены (или не могут выбрать).

Календарь для Joomla http://docs.joomla.org/API16:JHtml/calendar

Ответы

Ответ 1

Задайте minDate и maxDate для ограничения по дате, т.е.

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

Задайте переменную newmindate и newmaxdate.

Ответ 2

Что бы я сделал, добавьте небольшой фрагмент кода в Javascript, где в любое время, когда у вас есть событие размытия на этом входе, вы получаете значение, проверьте, есть ли оно > 2012-2-10 && < 2012-3-10, и если не очистить значение этого ввода.

Ответ 3

У меня возникла аналогичная проблема с несколькими сайтами Joomla, которыми я управляю. Я уже использовал jQuery, поэтому решил пойти с JQuery UI Datepicker, который имеет удобную функцию min/max date. Если вы уже используете эти библиотеки, или если вы готовы 1) добавить их и 2) потенциально испортить свое единство проекта, я бы рекомендовал его.

Ответ 4

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

    });
});

Ответ 5

Через 3 года после того, как ваш вопрос и поле календаря в Joomla все еще не могут этого сделать. Однако вы можете установить минимальный год и максимальный год (но не минимальный месяц и максимальный месяц), просто отредактировав файл media/system/js/calendar.js и изменив значения this.minYear и this.maxYear на значения по вашему выбору.