jQuery UI DatePicker по умолчанию является выпадающим списком, поэтому пример, который вы нашли, немного устарел, я думаю.
https://jsfiddle.net/gRoberts/z4j227h6/
$("#from").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function(selectedDate) {
$("#to").datepicker("option", "minDate", selectedDate);
}
});
$("#to").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function(selectedDate) {
$("#from").datepicker("option", "maxDate", selectedDate);
},
beforeShowDay: function (date) {
var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#from").val());
var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#to").val());
return [true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""];
},
});
Приведенная выше код/скрипка показывает, что с некоторыми незначительными изменениями, вы можете повторить функциональность в раскрывающемся списке.
HTH.
Спасибо, Это нормально, но этот закрывает дату, когда вы выбираете одну из дат. Мне нужна функция datepicker, пока вы не выберете обе даты. – Alex
Это немного взломанный метод - https://jsfiddle.net/gRoberts/z4j227h6/1/ - В принципе, вы должны держать его в строгом, но показывать/скрывать его. Вы можете изменить его, чтобы сфокусировать фокус на второй вход, как только дата будет выбрана на первой. – Gavin
в этот момент я сделал это: оставьте datepicker inline, css -> .datepicker {position: absolute; display: none} и javascript: $ ("# date1, # date2"). focus (function() {$ (". datepicker"). show();}); и, наконец, y использовал метод .hide(), когда оба входа даты имеют некоторую дату внутри. Мне это не нравится, но похоже, что он работает. – Alex