2010-08-16 81 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:00)。

我在jquery-ui.js - > serach找到了“_setDate: function”的第三个参数“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日期选择器只处理日期。从您链接的代码中可以看到,传递到setDate的日期仅用于设置currentDay,currentMonthcurrentYear的值。所有其他日期信息将按设计放弃。

noChange参数是一个标志,可能只用于内部,用于确定在值更改时是否调用notifyChange