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:
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();
}
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 .
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();
getdate bağlantısı: https://api.jqueryui.com/datepicker/#method-getDate
$("#datepicker").datepicker( 'getDate' );
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 =)