0

这个问题与这个问题相关但不同:如何将秒添加到我的“时间选择器”?

我对两对文本输入控件(一对 BeginDate/BeginTime 和一对 EndDate/EndTime)使用了几乎相同的 jQuery 代码。

第一对适用于此代码:

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”输入文本中输入任何内容。

为什么会这样?Date val 是否正确,正确 (0, 0, 0, 23, 59, 59)?这两对的 razor html 是相同的,除了元素的名称(EndTime 而不是 BeginTime)。

4

1 回答 1

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 示例在这里

于 2013-06-07T19:37:01.647 回答