Tutarlılık açısından, JQuery UI'nin datepicker'ının ayrıştırma/biçimlendirmesini değiştirmek yerine momentimleri kullanmak istiyorum. Bunu yapmanın en iyi yolu olabilecek herhangi bir düşünce var mı?jquery datepicker dateFormat'i ayrıştırmak ve biçimlendirmek için moment momentleri ile değiştirin
jquery datepicker dateFormat'i ayrıştırmak ve biçimlendirmek için moment momentleri ile değiştirin
cevap
Şimdiye kadar bu konuda bulduğum en iyi yöntem şöyle küresel jquery-uiparseDate
ve formatDate
işlevlerini geçersiz kılmak için geçerli:
$.datepicker.parseDate = function(format, value) {
return moment(value, format).toDate();
};
$.datepicker.formatDate = function (format, value) {
return moment(value).format(format);
};
O zaman bu güzel her zamanki kullanmanızı sağlar bir momentjs için biçimi yerine http://momentjs.com/docs/#/parsing/string-format/
$(".selector").datepicker({ dateFormat: "MM-DD-YYYY" });
bir alana bir
datepicker takılarak ancak belirttiğiniz biçimi yerine sevk edecektir sözdizimi
Bu harika! Başkalarının [etrafta] sunduğundan daha basit bir yol (http://stackoverflow.com/questions/20101603/how-do-i-convert-between-date-formats-used-by-jquery-ui-datepicker-and-moment -js). Teşekkürler! – zVictor
Güzel bir çözüm ancak 3. parametre (ayarlar parametresi) eksik, bu nedenle datepicker işlevinin parçaları kayboluyor. – ViRuSTriNiTy
@ViRuSTriNiTy - üçüncü seçenek parametresi yalnızca jQuery UI'nin tarihi nasıl ayrıştırdığıyla ilgilidir. Tüm ayrıştırma işlevini moment momentleriyle değiştirdiğimizden, bu geçerli değildir. örneğin momentler {dayNamesShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]} anlamamaktadır. Belki de gerçekten istediğin iki şey arasında bir şeyler yazabilirsin, ama muhtemelen bu ayarları global olarak değiştirmekten daha iyi olurdun: http://momentjs.com/docs/#/i18n/changing-locale/ – Clint
tek soru: Boş değerler ile nasıl çalışıyor? Kırık takvim gösteriyor mu? – demo
@demo http://stackoverflow.com/questions/24500726/replace-the-jquery-datepicker-dateformat-with-momentjs-parsing-and-format?noredirect=1#comment68137293_24500727 ile ilgili daha fazla bilgi almak istiyorum. Bunu ekleyebilir - bir anın 'isValid' işlevini kullanarak bunu yapmak çok kolaydır. – Clint