2010-11-21 8 views
0

Bir model için django admin sitesinde 2 date fields (from_date, to_date) var. 'From_date' değeri her değiştiğinde, from_date + 10 gün dahato_date alanına eklemem gerekir. From_date metin kutusunun change() olayını kullanmıştım. Sorun şu ki, Tarih Widget'ından tarihi seçtiğimde, bu değişiklik() çağrılmıyor. Bu değişikliği reddetmek için herhangi bir öneriniz var mı?Django - jQuery - dateField öğesinde change() işlevi()

cevap

0

Değişiklik olayının tetiklenmemesinin nedeni, değerin kullanıcı tarafından değil programlı olarak değiştirilmesinden kaynaklanır, bu sayede giriş alanı odağı alır. Odağı kaybettikten sonra, giriş alanı, widget odaklandığı süre boyunca değiştirilmediğinden hiçbir değişiklik algılamaz.

Bir giriş Widget odağı kaybettiğinde en kısa sürede tetiklenir to_date alanını değiştirmek için TextInput ait onBlur() olay dinleyicisi kullanarak öneririm:

$('.dateinput').blur(function() { 
    // Calculate to_date here 
})