jQueryUI datepicker ('setDate') удаляет время - PullRequest
0 голосов
/ 16 августа 2010

это ошибка в jQuery UI? Когда я вызываю .datepicker('setDate', date); и date является объектом даты со временем, datepicker устанавливает время date в 0: 00?

А если я клонирую переменную ..

var datewithtime = new Date();
var lTmpDate = datewithtime;
$('#Modal_KalendarTermin #DP_DatumVon').datepicker("setDate", lTmpDate);

.. datewithtime - это то же самое (без времени - только дата со временем = 0:00).

Я нашел третий параметр "noChange" в jquery-ui.js -> serach для "_setDate: function". Для чего?

Выдержка из jquery-ui.js

/* Set the date(s) directly. */
_setDate: function(inst, date, noChange) {
    var clear = !(date);
    var origMonth = inst.selectedMonth;
    var origYear = inst.selectedYear;
    date = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
    inst.selectedDay = inst.currentDay = date.getDate();
    inst.drawMonth = inst.selectedMonth = inst.currentMonth = date.getMonth();
    inst.drawYear = inst.selectedYear = inst.currentYear = date.getFullYear();
    if ((origMonth != inst.selectedMonth || origYear != inst.selectedYear) && !noChange)
        this._notifyChange(inst);
    this._adjustInstDate(inst);
    if (inst.input) {
        inst.input.val(clear ? '' : this._formatDate(inst));
    }
},

Спасибо за ваши ответы и извините за мой плохой английский!

1 Ответ

0 голосов
/ 16 августа 2010

Средство выбора даты в jQuery UI работает только с датами. Как видно из кода, на который вы ссылаетесь, дата, передаваемая в setDate, используется только для установки значений currentDay, currentMonth и currentYear. Вся остальная информация о дате будет сброшена в зависимости от дизайна.

Параметр noChange является флагом, который, вероятно, используется только для внутренних целей, чтобы определить, следует ли вызывать notifyChange при изменении значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...