如何在JQuery Datetimepicker插件中仅显示日期?

15

我已经搜索了各种方式来回答我的问题,但是没有找到,尽管我找到了两个相关的问题:JQuery Datepicker should display date onlyjQuery UI DateTimepicker - cannot hide the time

但它们都不能解决我的问题。

我正在使用Trent Richardson的datetimepicker,并希望在文本框中仅显示日期。为什么不使用没有附加组件的datepicker的答案是因为有时候我想要显示日期时间,有时候只想要日期。

我可以使用以下代码隐藏timepicker:

    datetimepicker("option", "showTimepicker", false);
时间从我的文本框中消失了,但日期后面有一个尾随空格,“2013-11-01”。 我尝试了分隔符选项,但没有成功。
    datetimepicker("option", "separator", "");

有人有想法如何解决这个问题吗?

稍微澄清一下,我正在尝试编写一种组件,可以通过一个大型解决方案使用,有时需要是日期时间选择器,有时需要是日期选择器。 这个“组件”包含一个输入(我的日期时间选择器),它被包裹在一些html中。 它还有一些属性可以设置,其中之一是SetDateOnly(),我正在尝试让日期选择器仅显示日期。


只使用日期选择器怎么样? - Travis J
1
创建一个 jsfiddle,以便我们更轻松地解决问题。 - Rick Suggs
我不知道如何创建一个jsfiddle,JavaScript并不是我的强项。 - Robert Persson
那么,如果你说JavaScript并不是你最擅长的语言,如果你消除双重否定,你是不是在说它是你最擅长的语言?只需访问jsfiddle.net并填写HTML、JavaScript和CSS部分,即可创建任何人都可以查看和检查的代码示例。这非常容易。 - Rick Suggs
13个回答

20

尝试以下选项:

$("#selector").datetimepicker({
  minView: 2,
  format: 'YYYY-MM-DD'
});

1
我必须添加 dateonly: true 选项才能使该设置对我起作用。 - BoCyrill
1
对我来说,不使用minView选项也可以正常工作。如果我包含它,就会收到一个错误消息,提示minView不是一个有效的选项。 - Enrico Giurin

12

然后您可以像这样使用showTimePicker

在表单加载时

$(document).ready(function(){
    $('#selector').datetimepicker({
        'showTimepicker': false
    });     
});

在运行时

$(".btn").click(function(){ 
    $('#selector').datetimepicker("destroy"); //destroys the previous settings.
    $('#selector').datetimepicker({
        'showTimepicker': false
    });                     
});

谢谢。你救了我的命。我一直在寻找运行时解决方案。 - ADM-IT

5
$(document).ready(function(){
    $('#selector').datetimepicker({
        viewMode: 'days',
        format: 'DD/MM/YYYY'
    });     
});

它的工作原理是这样的。

1
请注意,如果您正在使用 GitHub 上的 eonasdan 的 'bootstrap-datetimepicker',那么以下是操作方法:https://eonasdan.github.io/bootstrap-datetimepicker/。 - Vikram Deshmukh

4
如果其他代码不起作用,那么您可以使用这段代码。
    $('#datetimepicker_date_to_view').datetimepicker({
            timepicker:false,
            format:'d.m.Y',
        }).on('change', function() {
            $('.xdsoft_datetimepicker').hide();
            var str = $(this).val();
            str = str.split(".");
            $('#alt_date_field').val(str[2]+'-'+str[1]+'-'+str[0]);
        });

尝试了以上所有解决方案后,这个对我有效 :-) - Shailesh Bhokare

3
这对我有效 :)
    $("#selector").datetimepicker({
    minView: 2,
    format: 'dd-mm-yyyy',
    autoclose: true
    });

3
这是我的解决方案:
  $("#Time").datetimepicker({
      datepicker: false,
      step: 15,
      format: 'g:i a',
    });

使用jQuery DateTimePicker插件v2.3.8

3
为什么不这样做呢:
$('#selector').datetimepicker(); // When required both functionalities.
$('#selector').timepicker(); // When only time is required.
$('#selector').datepicker(); // Otherwise regular datepicker can be used.

是的,我一直在考虑采用这种方式,根据需要隐藏/显示日期选择器/时间选择器,但我认为应该有可能将日期时间选择器设置为仅显示日期。 - Robert Persson

2
我尝试过这个方法,它对我有效。在datetimepicker下,必须按照以下格式设置参数:'YYYY-MM-DD'。"最初的回答"。
$(document).ready(function(){
  $('#selector').datetimepicker({         
    format: 'YYYY-MM-DD'
  });     
});`

2

根据文档,它是:

最初的回答。

$("#selector").datetimepicker({
  format: 'L'
});

0

我通过给我的“组件”添加一个参数来解决了我的问题,该参数指定它应包含日期时间选择器还是日期选择器。缺点是我不能像我打算做的那样轻松地在它们之间切换。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接