0

我认为 Anytime datetimepicker 小部件是猫的喵喵声(或劳斯莱斯的咆哮(为什么随时 jQuery 插件的关键元素与背景融为一体/不可见?)),

我以这种方式实现它:

HTML

<label for="BeginDateTime" class="staticLabel">Begin Date Range</label>
<input id="BeginDateTime" name="BeginDateTime" required="true" />

jQuery

AnyTime.picker("BeginDateTime");

var d8 = new Date();
d8.setHours(0);
d8.setMinutes(0);
d8.setSeconds(0);
$('#BeginDateTime').val(d8);

...但是,虽然首先将时间设置为 zilch/midnight 工作(有点):

在此处输入图像描述

(实际上,我只想要日期和时间,而不是 GMT 爵士等)

...当我混合输入元素以调用/下拉 AnyTime 小部件时,它忘记了它已设置为 zilch,并使用当前时间覆盖 [rid,writ]es:

在此处输入图像描述

如何让 AnyTime 小部件在下拉时保留我分配的值(当然,直到用户明确更改它时)?

更新

我也试过这个:

$( "#BeginDateTime" ).click(function() {
    var d = new Date();
    d.setHours(0);
    d.setMinutes(0);
    d.setSeconds(0);
    $('#BeginDateTime').val(d);
});

...但唯一的区别是在我单击它之前,输入元素中不会出现 val - 它仍然显示 zilch,但会降低当前时间...

更新 2

我也试过这个:

AnyTime.picker("BeginDateTime",
{ labelHour: "00",
  labelMinute: "00",
  labelSecond: "00"
});

...但它似乎什么也没做。

更新 3

AMA 的回答很有魅力。这段代码:

AnyTime.picker("BeginDateTime");
// Set the initial time to midnight
var convFrom = new AnyTime.Converter();
var d8From = new Date();
d8From.setHours(0);
d8From.setMinutes(0);
d8From.setSeconds(0);
$('#BeginDateTime').val(convFrom.format(d8From));

AnyTime.picker("EndDateTime");
// Set the initial time to the second before midnight
var convTo = new AnyTime.Converter();
var d8To = new Date();
d8To.setHours(23);
d8To.setMinutes(59);
d8To.setSeconds(59);
$('#EndDateTime').val(convTo.format(d8To));

...导致:

在此处输入图像描述

4

1 回答 1

1

选择器会自动解析来自输入字段的初始值,但它必须采用正确的格式。设置该值的最简单方法是使用 AnyTime.Converter,例如:

var conv = new AnyTime.Converter();
var d8 = new Date();
d8.setHours(0);
d8.setMinutes(0);
d8.setSeconds(0);
$('#BeginDateTime').val( conv.format(d8) );
于 2013-08-20T14:32:03.163 回答