2
$('#altdate').datetimepicker({
        timeFormat: 'hh:mm:ss',
        dateFormat: 'yy-mm-dd',
        altField: "#Event_datetime",
        altFormat: "yy-mm-dd",
        altTimeFormat: 'hh:mm:ss',
        altFieldTimeOnly: false,
        onClose: function( selectedDate ) {
            //alert(selectedDate);
            $( "#altenddate" ).datetimepicker( "option", "minDate", selectedDate );
            if (selectedDate < ($.datepicker.formatDate('yy-mm-dd', new Date())) ) {
                start_in_past = true;
            }
        }
    });

$('#altenddate').datetimepicker({
        timeFormat: 'hh:mm:ss',
        dateFormat: 'yy-mm-dd',
        altField: "#Event_enddatetime",
        altFormat: "yy-mm-dd",
        altTimeFormat: 'hh:mm:ss',
        altFieldTimeOnly: false,
        onClose: function( selectedDate ) {
            //alert(selectedDate);
            $( "#altdate" ).datetimepicker( "option", "maxDate", selectedDate );
        }
    });

当我离开 datetimepicker 字段时,#Event_datetime 字段正确地填充了值“2012-12-23 13:00:00”;但是,当我关闭 enddate 之一时,该行

$( "#altdate" ).datetimepicker( "option", "maxDate", selectedDate );

场上只设“2012-12-23”!使用“maxDateTime”作为选项也不起作用,得到maxDateTime.getFullYear is not a function.

如何根据客户的要求使用完整的字符串设置 maxDate(Time):yy-mm-dd hh:mm:ss

4

2 回答 2

3

所以问题真的是设置“maxDate”选项,实际隐藏字段#Event_datetime被重置为没有时间 - 不知道为什么。

所以我通过在调用设置 maxDate 并再次重置之前临时保存 #Event_datetime 变量来解决它......

var current = $('#Event_datetime').val();
$( "#altdate" ).datetimepicker( "option", "maxDate", selectedDate );
$('#Event_datetime').val(current);
于 2012-11-23T20:04:38.547 回答
1

我和你有同样的问题,只是没有使用 alt 字段。您的解决方案也对我有用,尽管我必须对其进行稍微不同的编码。

var current = $("#startDate").datetimepicker("getDate");
$("#startDate").datetimepicker( "option", "maxDate", selectedDate );
$("#startDate").datetimepicker( "setDate", current);

(我意识到我可以将此作为评论发布,但我需要格式化代码示例。)

于 2013-03-27T12:33:16.867 回答