jQuery datepicker - дата по умолчанию как выбранная дата при использовании dateFormat

У меня есть средство выбора даты jquery, которое выбирает номер недели и диапазон дат в зависимости от выбранной даты.

$("input").datepicker({
    onSelect: function(dateText, inst) {
        $(this).val("Week Number " + $.datepicker.iso8601Week(new Date(dateText)) + " • " + $.datepicker.formatDate('d M', new Date(dateText)) + " - " + $.datepicker.formatDate('d M yy', new Date(new Date(dateText).getTime() + 6*24*60*60*1000)));
    }
});

Проблема в том, что при форматировании даты с использованием этого метода он предотвращает выбор даты по умолчанию для выбранной даты при повторном нажатии на ввод. По умолчанию это текущая дата.

Я должен использовать этот метод из-за некоторого другого кода, который я использую (я не показывал его, потому что он длинный и не имеет отношения к этой проблеме).

Любые идеи, как я могу настроить его по умолчанию на ранее выбранную дату?


person Tom    schedule 08.10.2012    source источник


Ответы (3)


Добавьте следующую строку в функцию, которая будет вызываться для события onSelect

$.datepicker.setDefaults({"defaultDate":dateText});

См. http://jsfiddle.net/ELXGP/5/.

person halex    schedule 08.10.2012

Вы всегда можете установить дату «вручную», вызвав:

.datepicker("setDate", defaultDate);

метод. Но перед этим взгляните на лишнее количество свойств, которые вы можете установить для средства выбора даты, может быть, одно решит вашу проблему.

person Drejc    schedule 08.10.2012
comment
Это не работает, оно по умолчанию возвращается к сегодняшнему дню после того, как вы что-то выберете - person Tom; 08.10.2012

Вы можете применить средство выбора даты к другому текстовому полю, и всякий раз, когда дата выбрана, вы можете изменить содержимое своего текстового поля.

person chirag    schedule 08.10.2012
comment
Это сработает, но я бы не хотел иметь ненужные текстовые поля по всему коду. Если есть другой способ обойти это, это было бы предпочтительнее. - person Tom; 08.10.2012