كيف يمكنني ضبط Mindate/MaxDate لـ JQueryui DatePicker باستخدام سلسلة؟
-
03-10-2019 - |
سؤال
jQueryui DatePicker توثيق ينص على أنه يمكن تعيين خيار Mindate باستخدام "سلسلة في DateFormat الحالية". لذلك حاولت ما يلي لتهيئة DatePickers:
$("input.date").datepicker({ minDate: "01/01/2010", maxDate: "12/31/2010" });
ومع ذلك ، فإن هذا ينتج عن حصول DatePicker على نطاق تاريخ قابل للاختيار يتراوح من 11/06/2015 إلى 12/17/2015.
لقد راجعت DateFormat الحالي و mm/dd/yy
, ، والتي من المفترض أن تعني رقمين لهذا الشهر ، 2 لهذا اليوم ، و 4 لهذا العام ، مفصولة بالرقابات. لقد حاولت أيضًا بما في ذلك dateFormat: "mm/dd/yy"
في بيان inizialization.
لقد راجعت أيضًا قيم Mindate و MaxDate بعد ذلك ويتم ضبطها على القيم التي أريدها: 01/01/2010
و 12/31/2010
.
أريد أن أكون قادرًا على ضبط min/maxdate مع الأوتار لأنني أجريت هذه القيم كقواسل من مكان آخر. ربما يعرف شخص ما سبب حدوث ذلك وكيفية حل هذا ، أو حل بديل لتحقيق ذلك ، مما يؤدي إلى تغيير تنسيق سلاسل التاريخ أو شيء من هذا القبيل؟
شكرًا
تحرير: استخدام: jQuery v1.3.2 و jQuery UI v1.7.2
المحلول
في النهاية ، اضطررت إلى استخدام شيء من هذا القبيل ، نظرًا لأن V1.7 لا يوجد لدى DatePicker أي تحقيقات مع تواريخ:
$.getJSON("/GetMinMaxDates/", function(dates) {
var DateLimits = {min:null, max:null};
DateLimits.min = new Date(Date.parse(dates.min));
DateLimits.max = new Date(Date.parse(dates.max));
$("input.date").datepicker({ dateFormat: "mm/dd/yy", minDate: DateLimits.min, maxDate: DateLimits.max });
});
نصائح أخرى
يبدو أن "خطأ" في 1.3.2 مع 1.7.2. في 1.4.2 مع 1.8.1 كل شيء على ما يرام.
لقد وجدت طريقتك الأخيرة لتكون الأفضل لـ IE7/8 على أي حال. أي إرجاع نان في وظائف تاريخ التغذية السلسلة ؛ بمجرد أن أخرجت إلى الأرقام اختفت المشكلة.