jQuery datepicker - 2 Giriş/metin kutularının ve kısıtlama aralığı
İki giriş kutuları için bir jQuery Datepicker widget kullanıyorum""tarih ve ikinci ile"İçin"tarih. İki giriş kutuları birbirleri ile çalışması için bir temel olarak jQuery Datepicker functional demo kullanıyorum, ama bu ek kısıtlamalar eklemek istiyorum:
Tarih aralığı daha erken olabilir Aralık 2008 01
"İçin"tarih yok olabilir günün ilerleyen saatlerinde daha
Bir kez""tarih seçilir"İçin"tarih sadece 7 gün sonra arasında ""tarih
Bir eğer"İçin"tarih ilk önce, sonra seçildi""tarih sadece 7 aralığında olabilir önce gün"İçin"tarih (ile 01 Aralık ilk olma sınırı tarih seçilebilir)
Yukarıdakilerin hepsi birlikte çalışma almak için görünmüyor olabilir.
Özetle, ben gibi seçim yapabilme aralığı ile 7 gün arasında 01 Aralık ve bugün (anladım ben bu ilanıyla ilgili 1 Aralık yani sadece bugün için anı).
Benim kod şimdiye kadar
$(function () {
$('#txtStartDate, #txtEndDate').datepicker(
{
showOn: "both",
beforeShow: customRange,
dateFormat: "dd M yy",
firstDay: 1,
changeFirstDay: false
});
});
function customRange(input)
{
return {
minDate: (input.id == "txtStartDate" ? new Date(2008, 12 - 1, 1) : null),
minDate: (input.id == "txtEndDate" ? $("#txtStartDate").datepicker("getDate") : null),
maxDate: (input.id == "txtStartDate" ? $("#txtEndDate").datepicker("getDate") : null)
};
}
7 gün aralığı kısıtlama eksik ve de önlüyorum"İçin"01 Aralık 2008 ya da bugünden sonra daha önce seçim tarihi. Herhangi bir yardım çok Teşekkürler mutluluk duyacağız.
CEVAP
Yardımlarınız için çok teşekkürler Ben, mesaj üzerine inşa edilmiş ve bu ile geldi. Şimdi tam ve zekice çalışır!
İşteWorking Demo. Ekleyin/Düzenlekodu görmek için URL
Aşağıda . tam Kod
$(function ()
{
$('#txtStartDate, #txtEndDate').datepicker({
showOn: "both",
beforeShow: customRange,
dateFormat: "dd M yy",
firstDay: 1,
changeFirstDay: false
});
});
function customRange(input) {
var min = new Date(2008, 11 - 1, 1), //Set this to your absolute minimum date
dateMin = min,
dateMax = null,
dayRange = 6; // Set this to the range of days you want to restrict to
if (input.id === "txtStartDate") {
if ($("#txtEndDate").datepicker("getDate") != null) {
dateMax = $("#txtEndDate").datepicker("getDate");
dateMin = $("#txtEndDate").datepicker("getDate");
dateMin.setDate(dateMin.getDate() - dayRange);
if (dateMin < min) {
dateMin = min;
}
}
else {
dateMax = new Date; //Set this to your absolute maximum date
}
}
else if (input.id === "txtEndDate") {
dateMax = new Date; //Set this to your absolute maximum date
if ($("#txtStartDate").datepicker("getDate") != null) {
dateMin = $("#txtStartDate").datepicker("getDate");
var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() dayRange);
if(rangeMax < dateMax) {
dateMax = rangeMax;
}
}
}
return {
minDate: dateMin,
maxDate: dateMax
};
}
jQuery: kısıtlamak " için en iyi y...
jQuery UI: Datepicker ayarlayın yıl aç...
Nasıl giriş metin jQuery kullanarak de...
Nasıl sayfa yük üzerinde form giriş me...
't değil o metin girişi ile JQuer...