这个问题与此问题有关,但与此不同:How can I add Seconds to my "timepicker"?
我使用几乎相同的jQuery代码用于两对文本输入控件(BeginDate / BeginTime对和EndDate / EndTime对)。
第一对使用此代码可以正常工作:
var beginDatepickerOpts = {
changeMonth: true,
changeYear: true,
showWeek: true,
onClose: function() {
if (($("#BeginTime").val()).length == 0) {
$("#BeginTime").timeEntry("setTime", new Date(0, 0, 0, 0, 0, 0));
}
$("#BeginTime").focus();
}
}
$("#BeginDate").datepicker(beginDatepickerOpts);
...在选择日期时,“00:00”输入“时间”输入(我希望它是“00:00:00”,但这是一个完全不同的色调的马,在下面讨论上面提到的问题)。
但是,这段代码用于第二对输入:
var endDatepickerOpts = {
changeMonth: true,
changeYear: true,
showWeek: true,
onClose: function() {
if (($("#EndTime").val()).length == 0) {
$("#EndTime").timeEntry("setTime", new Date(0, 0, 0, 23, 59, 59));
}
$("#EndTime").focus();
}
}
$("#EndDate").datepicker(endDatepickerOpts);
... - 虽然它似乎是出于所有实际目的而缩进 - 未能在表面末端的“EndTime”输入文本中输入任何内容。
为什么会这样?日期值是正确的,正确的(0,0,0,23,59,59)?除了元素的名称(EndTime而不是BeginTime)之外,两对的剃刀html是相同的。
答案 0 :(得分:1)
确保初始化$.timeEntry()字段的两次出现,如下所示:
// Start Date / Time
var beginDatepickerOpts = {
...
}
$('#BeginTime').timeEntry(); // Initialize the BeginTime TimeEntry Field
$("#BeginDate").datepicker(beginDatepickerOpts);
// End Date / Time
var endDatepickerOpts = {
...
}
$('#EndTime').timeEntry(); // Initialize the EndTime TimeEntry Field
$("#EndDate").datepicker(endDatepickerOpts);
示例强>
JSFiddle示例Here。