DatePicker Javascript在init上传递允许时间的数组

时间:2014-01-13 15:20:59

标签: javascript jquery datetimepicker

我仍然在寻找jquery和JS的方法。我在这里使用日期时间选择器的插件http://xdsoft.net/jqplugins/datetimepicker/,我需要传递一组允许的时间。

基本上文档说明了这个

$('#datetimepicker5').datetimepicker({
 datepicker:false,
 allowTimes:[
  '12:00', '13:00', '15:00', 
  '17:00', '17:05', '17:20', '19:00', '20:00'
 ]
});

我想知道的是有没有办法在这里传递数组?我已经尝试创建一个函数并执行允许:getArr()但它没有工作

function getArr() {
            var allowTimes = [
  '12:00', '12:30', '13:00', '13:30', '14:00', 
  '14:30', '15:00', '15:30', '19:00', '20:00'
 ];
        return allowTimes;

    }

这是应该如何完成的,还是插件的限制是我想要弄清楚的?

2 个答案:

答案 0 :(得分:0)

您可能正在传递allowTimes对函数的引用,而不是调用它来返回结果。

如果您的代码如下所示:

$('#datetimepicker5').datetimepicker({
 datepicker:false,
 allowTimes: function getArr() {
        var allowTimes = [
           '12:00', '12:30', '13:00', '13:30', '14:00', 
           '14:30', '15:00', '15:30', '19:00', '20:00'
        ];
    return allowTimes;
 }
});

您需要将其更改为以下内容:

$('#datetimepicker5').datetimepicker({
 datepicker:false,
 allowTimes: function getArr() {
        var allowTimes = [
           '12:00', '12:30', '13:00', '13:30', '14:00', 
           '14:30', '15:00', '15:30', '19:00', '20:00'
        ];
    return allowTimes;
 }()
});

答案 1 :(得分:0)

我在这里迟到了一点,但是我遇到了同样的问题,并像下面这样解决了它: 我从一个comma separated string响应创建了一个JSON。 然后,在初始化datetimepicker时,我通过了allowTimes option,如下所示:

$('.delivery').datetimepicker({
                datepicker:false,
                timepicker:true,
                format:'H:i',
                step:30,
                allowTimes: function getArr() {
                    var allowTimes = str_times.split(',');
                    return allowTimes;
                }()

            });
        })

str_times是这样的string

str_times = "12:00,13:00,14:00,15:00"

当然,您可以从任何类型的string创建此data