2010-08-16 10 views
0

jQuery UI의 버그입니까? .datepicker('setDate', date);을 호출하고 date을 시간이있는 날짜 개체로 지정하면 datepicker에서 date의 시간을 0:00으로 설정합니까?jQueryUI datepicker ('setDate')가 시간을 제거합니다.

내가 변수를 복제하면 ..

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

.. datewithtime은 동일합니다 (시간이없는 - 시간 만 일 = 0시).

"_setDate: function"에 대해 jquery-ui.js -> serach에 세 번째 매개 변수 "noChange"가 있습니다. 무엇 때문에? 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)); 
    } 
}, 

감사하고 죄송에서

발췌!

답변

0

jQuery UI datepicker는 날짜 만 처리합니다. 연결된 코드에서 볼 수 있듯이 setDate에 전달되는 날짜는 currentDay, currentMonthcurrentYear의 값을 설정하는 데에만 사용됩니다. 다른 모든 날짜 정보는 의도적으로 삭제됩니다.

noChange 매개 변수는 값이 변경 될 때 notifyChange을 호출할지 여부를 결정하기 위해 내부적으로 만 사용되는 플래그입니다.