SORU
1 Aralık 2008, PAZARTESİ


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:

  1. Tarih aralığı daha erken olabilir Aralık 2008 01

  2. "İçin"tarih yok olabilir günün ilerleyen saatlerinde daha

  3. Bir kez""tarih seçilir"İçin"tarih sadece 7 gün sonra arasında ""tarih

  4. 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
2 Aralık 2008, Salı


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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • Moodle

    Moodle

    11 Mayıs 2010