Javascript 更改事件的jquery datetimepicker格式

Javascript 更改事件的jquery datetimepicker格式,javascript,jquery,datepicker,timepicker,Javascript,Jquery,Datepicker,Timepicker,在谷歌搜索了太多我的答案后,我一直没有成功。如果这是重复的,我很抱歉 我有一个只显示时间的日期选择器。我想在军事和标准时间之间切换一个下拉式onchange事件 我的尝试是这样的: function militarytoggle(element) { timetype = $("#military").val(); if(timetype == "military") { $('.time').datetimepicker({

在谷歌搜索了太多我的答案后,我一直没有成功。如果这是重复的,我很抱歉

我有一个只显示时间的日期选择器。我想在军事和标准时间之间切换一个下拉式onchange事件

我的尝试是这样的:

function militarytoggle(element)
{
     timetype = $("#military").val();
     if(timetype == "military")
     {
         $('.time').datetimepicker({
              timeOnly: true,
              timeFormat: 'HH:mm'
         });
     }
     else if(timetype == "standard"){
         $('.time').datetimepicker({
              timeOnly: true,
              timeFormat: 'hh:mm TT'
         });
     }
}
编辑:我正在使用的datetime方法(当前正在使用)在document ready上呈现:

$('.time').datetimepicker({
timeOnly: true,
    dateFormat: '',
    timeFormat: 'hh:mm TT'
});
我只想更改活动的时间表

有人会认为这是可行的,把冗余放在一边。我到底做错了什么


提前谢谢大家

您的if语句之一写为

if($(timetype == "military")
另一个是

else if(timetype == "standard")
首先,前者有未闭合的括号。但是,一个使用美元,另一个不使用。其中只有一个是正确的语法(我在后面考虑)

同样,您使用

$('.time').datepicker
在一个地方

$('.time').datetimepicker
另一方面。同样,只有一种方法可能是正确的

编辑:从以下评论中添加:

如果datetimepicker方法是构造函数,则在创建页面后再次调用它可能不会实际更改现有控件的格式

进一步:


您应该检查datetime picker小部件的文档(如果没有好的文档,则检查源代码),以查看是否有更改现有控件的显示格式的方法(或者如果该格式是公共属性,则可以直接分配)。如果没有,那么初始化两个版本并隐藏其中一个可能是最好的方法,尽管您也可以向服务器发回帖子,还有一些服务器端代码,它使用传递的参数将datetimepicker设置为所需格式的页面呈现。

我通过为每个表单添加一个军用和标准时间字段解决了这个问题。然后切换disabled属性和DisplayCSS,而不是试图更改datetimepicker

然后,我将datetime选择器绑定到DocumentReady上的所有字段

function militarytoggle(element)
{
    timetype = $("#military").val(); 
    if(timetype == "military")
    {
        $(".standard").prop("disabled",true).css("display","none");
        $(".military").prop("disabled",false).css("display","block");
    }else if(timetype == "standard"){
        $(".standard").prop("disabled",false).css("display","block");
        $(".military").prop("disabled",true).css("display","none");
    }
}

这似乎有点骇人听闻,如果其他人有更干净的解决方案,我会接受它作为答案。

这些都是打字错误,投票结果是错误的,不幸的是,这不是我问题的解决方案:((尽管如此,谢谢!)应该注意的是,我已经尝试了以上两种方法中的每一种…@steve在这种情况下,我会怀疑datetimepicker方法实际上并没有做你认为它做的事情。你能链接你正在使用的datetimepicker吗?@steve不是我真正的意思。我不认为jQuery附带datetimepicker控件,它是对你的一个补充正在从某个地方获取(jQuery UI?Bootstrap?)。如果该方法是构造函数,则在创建页面后再次调用该方法可能不会实际更改现有控件的格式。同样,您是正确的,它是jQuery UI的一部分。请原谅我的无知!:(您上面的评论回答了问题。请将其添加到您的答案中,我将接受。)(页面加载后更改可能不会实际更改现有控件的格式)