Как ограничить диапазон дат jquery datepicker, предоставив две даты?

У меня есть две даты, которые хранятся в db, и я выбираю ее с помощью $.ajax(), и мне нужно показать значения datepicker между датами, которые я выбрал из db.

Вот мой код для него. Но он не работает должным образом

function setDatePickerSettings(isFisc) {
        var fSDate, fEDate;
        $.ajax({
            type: "POST",
            url: '../Asset/Handlers/AjaxGetData.ashx?fisc=1',
            success: function(data) {
                alert(data);
                var res = data.split("--");//data will be 4/4/2010 12:00:00--5/4/2011 12:00:00 
                var sDate = res[0].split(getSeparator(res[0]));
                alert("Separator " + getSeparator(res[1]) + " Starts " + sDate);
                var eDate = res[1].split(getSeparator(res[1]));
                alert("End " + eDate);
                alert("sub " + sDate[0]);
                fSDate = new Date(sDate[2].substring(0, 4), sDate[0], sDate[1]);
                alert("Starts " + fSDate.substring(0, 4));
                fEDate = new Date(eDate[2].substring(0, 4), eDate[0], eDate[1]);
                alert("eND " + fEDate.toString());

            }

        });
          var dtSettings = {
        changeMonth: true,
        changeYear: true,
        showOn: 'both',
        buttonImage: clientURL + 'images/calendar.png',
        buttonImageOnly: true,
        showStatus: true,
        showOtherMonths: false,
        dateFormat: 'dd/mm/yy',
        minDate:fSDate, //assigning startdate
        maxDate:fEDate //assigning enddate
    };

    return dtSettings;
}

Pls предоставляет некоторое решение. Мне нужен сборщик данных, который требует значений между этим диапазоном. Спасибо заранее

Ответы

Ответ 1

Ваш синтаксис неверен для minDate/maxDate. Вы можете прочитать документацию на веб-сайте jQuery UI, где демонстрация. Я предлагаю вам взглянуть на него, чтобы приспособить его к вашему конкретному делу. Это выглядит примерно так:

$( ".selector" ).datepicker({ minDate: new Date(2007, 1 - 1, 1) });

или

следующее приведет к тому, что вы не сможете выбрать что-либо до сегодняшнего дня.

$( ".selector" ).datepicker({ minDate: 0 });

и это сделает так, что вы не сможете выбрать что-либо перед завтраком

$( ".selector" ).datepicker({ maxDate: 1 });

Изменить: вот как вы вставляете свою собственную дату, но у меня проблема с правильной обработкой dateFormat, так как вы можете видеть, что у меня указан параметр dateFormat, но формат, который я на самом деле вставлял, игнорирует формат даты.

$("#txtDateStart").datepicker({dateFormat:'mm/dd/yy', minDate: new Date(2010,11,12) });

Ответ 2

Я использовал этот, и я получил output.thanks все

 function setFiscDatePickerSettings() {

        var fSDate, fEDate, sDate, fEDate;
        var dtSettings;
        sDate = document.getElementById("<%=hdfFiscStart.ClientID %>").value.split(getSeparator(document.getElementById("<%=hdfFiscStart.ClientID %>").value));
        eDate = document.getElementById("<%=hdfFiscEnd.ClientID %>").value.split(getSeparator(document.getElementById("<%=hdfFiscEnd.ClientID %>").value));
        fSDate = new Date(sDate[2].substring(0, 4), sDate[0] - 1, sDate[1]);
        fEDate = new Date(eDate[2].substring(0, 4), eDate[0] - 1, eDate[1]);
        dtSettings = {
            changeMonth: true,
            changeYear: true,
            showOn: 'both',
            buttonImage: clientURL + 'images/calendar.png',
            buttonImageOnly: true,
            showStatus: true,
            showOtherMonths: false,
            dateFormat: 'dd/mm/yy',
            minDate: fSDate, maxDate: fEDate
        };

        return dtSettings;
    }


    function bindFiscalDatePicker() {
        var inputDt = $("input.datepicker_fisc");
        inputDt.addClass("numbers_only");
        inputDt.addClass("allow_special");
        inputDt.attr("symbolcodes", "/");
        inputDt.datepicker(setFiscDatePickerSettings());
    }