Javascript 在用户输入的时间字段中添加30分钟

Javascript 在用户输入的时间字段中添加30分钟,javascript,Javascript,我有一个基本问题:当用户输入时间窗口的第一部分时,结束时间必须比第一部分多30分钟 当我键入09:00时,结束时间必须是09:30。如果用户不想要此结束时间,他将手动更改它 这就是我迄今为止所尝试的: $( "#newOrderDeliveryTimeFrom" ).change(function() { var newDateObj = moment($("#newOrderDeliveryTimeFrom").val()).add(30, 'm').toDate(); alert(newD

我有一个基本问题:当用户输入时间窗口的第一部分时,结束时间必须比第一部分多30分钟

当我键入09:00时,结束时间必须是09:30。如果用户不想要此结束时间,他将手动更改它

这就是我迄今为止所尝试的:

$( "#newOrderDeliveryTimeFrom" ).change(function() {
var newDateObj = moment($("#newOrderDeliveryTimeFrom").val()).add(30, 'm').toDate();
alert(newDateObj);
});
顺便说一句,有人知道一个好的JS插件,它可以以比HTML时间字段更好的方式提示时间吗?因为我的一些用户在字段中显示AM/PM


多谢各位

我终于做到了。我使用了一个非常基本的jQuery插件时间选择器。这是我的js代码:

$('#newOrderDeliveryTimeFrom').timepicker({
    timeFormat: 'h:mm p',
    dropdown: false,
    change:function(time){
        var element = $(this), text;
        var timepicker = element.timepicker();
        $('#newOrderDeliveryTimeTo').val(timepicker.format(new Date(time.getTime() + 30*60000)));
    }
});

$('#newOrderDeliveryTimeTo').timepicker({
    timeFormat: 'h:mm p',
    dropdown: false
});

对于您当前的解决方案,结果如何?根据moment的文档,这应该是正确的。您是否调试了输入的值?OP明确要求使用“时间”输入字段的替代项。为什么不使用HTML时间字段,但删除“(24小时)”标签,并利用已选择12小时或24小时时钟的事实(根据系统区域设置)?利用该功能。时间字段的唯一替代方法是使用文本字段或选择,然后您必须手动将字符串转换为时间字符串。@SandraWillford您好,谢谢您的回复,很抱歉延迟了。此警报显示:localhost表示日期无效