Как ограничить диапазон дат 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());
}