2012-01-09 25 views
5

Sayfa yüklenirken datepicker alanının ve altField değerlerini ayarlamak istiyorum ve tarih otomatik olarak bunu yapmak için bir seçenek olup olmadığını merak ediyorum (yani setDate numaralı telefonu arayın. date-div bir div olma ileSeçilen tarihi otomatik olarak seçime bağlı olarak otomatik olarak altField olarak ayarlayın

$("#date-div").datepicker({altField:"#date-input",altFormat:"yy-mm-dd", defaultDate:+7}); 

sayfa yüklendiğinde, varsayılan tarih otomatik date-input alanına eklenir:

ben böyle bir şey yapmak eğer biliyoruz. Ancak, div yerine bir metin alanı kullanırsam, değerleri otomatik olarak ayarlamaz (setDate'u ayrı bir satıra çağırmam gerekir).

Sadece şunu merak ediyorum, onu setDate çağırarak uygulamaya koydum, ama otomatik olarak yapacak bir şey olup olmadığını bilmek istiyorum. (Takvimi görüntülemek için div kullanırken işe yaradığı için).

cevap

-2

Değil% 100 o tekrarını zarif ihtiyacı olduğu ama benim için çalışıyor:

$("#date-div").datepicker({altField:"#date-input",altFormat:"yy-mm-dd", defaultDate:$("#date-input").val()}); 
+0

Yanıtınız işe yaramıyor gibi görünüyor. Belki de –

+1

-1 biçimindeki farklardan dolayı bu yalnızca "altFormat", "dateFormat" ile aynıysa çalışır ([docs] (http://api.jqueryui.com/datepicker/#utility-formatDate)). – Stijn

+0

eğer ek koşul altında çalışıyorsa, neden onu reddettiniz? Çalıştığım bir çözüm için cezalandırıldığını anlamıyorum. – Kodak

0

Yapabileceğiniz en iyi şey, defaultDateMoment.js gibi bir kütüphane ile altField değerini ayrıştırmak için olduğunu belirlemek için tarayıcı uygulamaları nedeniyle ayrıştırma tarihleri ​​güvenilmezdir. senin altField senin datepicker alanından önce alandır ve ISO 8601 biçiminde ise Örneğin, bunu yapabilirsiniz: takvimi açarken yalnızca varsayılan seçili tarihinin belirlenmesini

$(this).datepicker({ 
    altField: $(this).prev(), 
    altFormat: $.datepicker.ISO_8601, 
    defaultDate: moment($(this).prev().val()).toDate() 
}); 

. Ayrıca, datepicker alanını doldurmak isterseniz, aşağıdaki kodu kullanarak tarihçiyi ekledikten sonra bunu yapabilirsiniz:

$(this).datepicker("setDate", moment($(this).prev().val()).toDate()); 
İlgili konular