Различия между опцией defaultDate и методом setDate

Я пытаюсь обвести голову, используя jQueryUI DatePicker. Одна из основных вещей, которые я должен понимать, - это способ установки даты на загрузку страницы.

После некоторых исследований я нашел 2 разных способа сделать это:

  • с использованием опции defaultDate
  • с использованием метода setDate

Основное различие, которое я обнаружил до сих пор, заключается в том, что параметр defaultDate устанавливает только значение в самом календаре datePicker.

В то время как метод setDate устанавливает дату как в input type text, так и в календаре datePicker.

Интересно, что при использовании метода setDate и defaultDate параметр date, установленный с использованием метода setDate, переопределяет значение даты, заданное с помощью опции defaultDate.

см. http://jsfiddle.net/vb7mu3sf/

Еще две отличия, которые я заметил:

  • оба признают дату как тип даты как параметр (который очень опрятный), но defaultDate опция принимает дополнительные типы (Number и String).
  • setDate метод можно, конечно, вызывать в любое время на datePicker

Есть ли что-то еще, что я пропустил о своих различиях?

Ресурсы

Ответ 1

Посмотрите документацию:

defaultDate
Установите дату для выделения при первом открытии, если поле пуста.

setDate
Устанавливает дату для datepicker.

Не так много объяснений. Как упоминалось выше:

  • Настройка свойства defaultDate:
    • Устанавливает дату, которая сфокусирована при открытии календаря и поле пустое.
    • Не обновляет поле.
    • Пользователь должен нажать Enter или щелкнуть дату, чтобы обновить поле.
  • Вызов метода setDate:
    • Обновляет поле.
    • Открытие календаря, когда поле не пустое, приводит к тому, что эта дата будет сфокусирована и выбрана.

Возможное использование одного метода или другого:

  • Если дата является обязательным полем, и есть значение по умолчанию, используйте метод setDate. Это экономит два клика, если пользователь в порядке с заранее введенной датой.
  • В противном случае используйте defaultDate, чтобы указать дату, которая сфокусирована, если пользователь решит активировать устройство даты.

Примечания:

... но параметр defaultDate принимает дополнительные типы (Number и String).

Фактически, setDate принимает все версии даты, которые делает defaultDate.

setDate можно, конечно, вызывать в любое время на datePicker

Ну, параметр defaultDate можно установить в любое время. Например, если есть два календаря, например. checkin и checkout, и пользователь выбрал дату регистрации 10 ноября 2014 года, тогда вы хотели бы установить defaultDate в другом календаре на 11 ноября 2014 года.