jQuery datepicker устанавливает выбранную дату, на лету
Как я могу изменить выбранную дату jquery Date picker динамически «на лету»? Я сказал, что создал встроенный сборщик дат. Затем через какое-то время я хочу отразить другую дату там, не воссоздавая дампикера с нуля.
Я попробовал метод setDate, но не работал, и документации в документации недостаточно.
Здесь есть другой (расширенный?) Плагин, но я хочу использовать плагин, который поставляется с jquery.ui.all.js.
- jquery UI Сортировка с таблицей и шириной
- jQuery UI Resizable andResize reverse
- Как обратиться к идентификатору компонента JSF в jquery?
- Событие jQuery: обнаружение изменений в html / text div
- knockoutjs databind с jquery-ui datepicker
- Форма Отправить jQuery не работает
- Конфигурация поиска виджета jQuery UI Autocomplete
- как получить значение выбранного элемента в автозаполнении
- Измените имя поля в JSON, используя Jackson
- Ограничить дату в jquery datepicker на основе другого datepicker или текстового поля
- Не удалось передать дополнительные параметры в plupload
- Сегодня кнопка в jQuery Datepicker не работает
- jquery ui tabs больше не поддерживает cookie? что теперь?
Какую версию jQuery-UI вы используете? Я проверил следующее с 1.6r6, 1.7 и 1.7.1, и он работает:
//Set DatePicker to October 3, 2008 $('#dateselector').datepicker("setDate", new Date(2008,9,03) );
Убедитесь, что дата, которую вы пытаетесь установить, находится в пределах допустимого диапазона дат, если установлены параметры minDate или maxDate.
В этом примере показано, как использовать значение по умолчанию в раскрывающемся календаре и значение в текстовом поле. Он также показывает, как установить значение по умолчанию для предыдущей даты.
selectedDate – это другая переменная, которая содержит текущую выбранную дату календарного управления
var date = new Date(); date.setDate(date.getDate() - 1); $("#datepicker").datepicker({ dateFormat: "yy-mm-dd", defaultDate: date, onSelect: function () { selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate')); } }); $("#datepicker").datepicker("setDate", date);
Отмечено, что для DatePicker by Keith Wood ( http://keith-wood.name/datepickRef.html ) следующие работы: обратите внимание, что установка даты по умолчанию последней:
$('#datepicker').datepick({ minDate: 0, maxDate: '+145D', multiSelect: 7, renderer: $.datepick.themeRollerRenderer, ***defaultDate: new Date('1 January 2008')*** });
По некоторым причинам, в некоторых случаях я не мог заставить setDate работать.
Обходной путь, который я нашел, – это просто обновить атрибут value данного ввода. Конечно, сам датапикер не будет обновляться, но если вы просто ищете, чтобы отобразить дату, он отлично работает.
var date = new Date(2008,9,3); $("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear()); // Will display 9/3/2008 in your #your-input input
setDate только кажется проблемой с встроенным datepicker, используемым в jQuery UI, особая ошибка InternalError: слишком большая recursion.
Это работает для меня:
$("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3));
$ (‘date-pick’) datePicker (). val (new Date ()). trigger (‘change’)
наконец, что я смотрю последние несколько часов! Мне нужно инициировать изменения, а не просто установить дату в текстовом поле!
У меня также были проблемы с методом setDate. похоже, работает только в v1. Однако, похоже, что используется метод dpSetSelected:
$("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString());
удачи!
Это старый stream, но я просто хочу дать некоторую информацию, как я использовал. Если вы хотите установить сегодняшнюю дату, вы можете просто применить ее, как показано ниже.
$("#datepickerid").datepicker("setDate", "0");
Если вы хотите установить несколько дней до / после текущей даты, используйте символ -/+
сколько дней вы хотите, как показано ниже.
$("#datepickerid").datepicker("setDate", "-7"); $("#datepickerid").datepicker("setDate", "+5");
или вы можете просто
$('.date-pick').datePicker().val(new Date()).trigger('change')