JQuery UI datepicker'dan tarih nasıl alınır


85

Kullanıcı jQuery UI datepicker'da tarihi her seçtiğinde ve form üzerindeki düğmeye tıkladığında tarih seçiciden tarihi almak istiyorum.

Pekala, seçtikleri tarihin gününü, ayını ve yılını almam gerekiyor. JQuery UI formunu nasıl alabilirim?

Yanıtlar:


130

Kullanım

var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
    jsDate instanceof Date; // -> true
    jsDate.getDate();
    jsDate.getMonth();
    jsDate.getFullYear();
}

Bu, Tarih veri türünde herhangi bir yöntemi çalıştırmanın bir yolu mu? Yani, getDate, getMonth, getFullYear vb.
Ajeeb.KP

Datepicker'da getDate'i çağırdıktan sonra, getDate, getMonth, getFullYear vb. Çağırmak için kullanılabilen js Date () nesnesini alacaksınız
CoolEsh

jsDate değişkenini yazdırırsak bize şu gibi bir şey verecektir 24 Ağu 2020 00:00:00 GMT + 0530 (Hindistan Standart Saati) şimdi jsDate üzerinde getDate, getMonth, getFullYear yöntemini uygulayabiliriz.
Laveena

87

GetDate işlevini kullanarak tarihi alabilirsiniz:

$("#datepicker").datepicker( 'getDate' );

Değer, bir JavaScript Date nesnesi olarak döndürülür.

Kullanıcı bir tarih seçtiğinde bu değeri kullanmak istiyorsanız onSelect olayını kullanabilirsiniz:

$("#datepicker").datepicker({
   onSelect: function(dateText, inst) { 
      var dateAsString = dateText; //the first parameter of this function
      var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
   }
});

İlk parametre bu durumda Dize olarak seçilen Tarih'tir. Bir JS Tarih Nesnesine dönüştürmek için parseDate'i kullanın.

Tam jQuery UI DatePicker referansı için http://docs.jquery.com/UI/Datepicker adresine bakın .


en iyi çözüm, çünkü tarih nesnesinin global değişkeni gerekli değildir
Rashid

24

Deneyin, çekicilik gibi çalışır, seçtiğiniz tarihi verir. onsubmit formu bu değeri almaya çalışın: -

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();

Referans burada



1

Bazen onunla çok fazla sorun olur. Veri seçici verilerinin öznitelik değerinde 28-06-2014, ancak tarih seçici göster ya da bugün ya da yok. Buna şu şekilde karar verdim:

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />

JQuery (this) .val () VEYA jQuery (this) .attr ('value') çağrısı yaparsanız - hiçbir şey çalışmazsa, datapicker özniteliği data-value girdisine ekledim . Her bir veri alıcının döngüsünü başlatmaya karar verdim ve değerini veri-değer özniteliğinden almaya karar verdim:

 $("form .datepicker").each(function() {
        var time = jQuery(this).data('value');
        time = time.split('-');
        $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
    });

ve iyi çalışıyor =)


bu sadece tarih formatınız dmY ise çalışır .. mdY veya başka bir formatınız varsa, ısmarlanırsınız!
Mohamed Nuur

0

NamingException'ın cevabı benim için çalıştı. Kullandım hariç

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepickerişe yaramadı ama dtpickeryaptı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.