为插件datetimepicker创建allowTimes循环(而不是每个季度硬编码)

时间:2017-06-20 01:02:21

标签: javascript jquery loops plugins properties

我尝试道德黑客攻击插件datetimepicker,以便动态创建一个循环来显示每小时的每个季度,而不是硬编码。我的目标是,而不是输入例如:

jQuery("#datetimepicker").datetimepicker({
        scrollMonth : false,
        allowTimes: ['07:00','07:15','07:30','07:45','08:00','08:15','08:30','08:45','09:00','09:15','09:30','09:45','10:00','10:15','10:30','10:45','11:00','11:15','11:30','11:45','12:00','12:15','12:30','12:45','13:00','13:15','13:30','13:45','14:00','14:15','14:30','14:45','15:00','15:15','15:30','15:45','16:00','16:15','16:30','16:45','17:00','17:15','17:30','17:45'],
        formatTime: 'g:i a',
        minDate:'+1970/01/04'
    });

使用此循环:

var append = "[";

    for (var xh=7; xh<=17; xh++) {
        for (var xm=0; xm<60; xm+=15) { 
            append += "'"+("0"+xh).slice(-2)+':'+("0"+xm).slice(-2)+"',";
        }
    }
    append += "]";
    append.slice(-1,1);
    console.log(append);

这将输出我的第一个例子的相同结果(allowTimes:[&#39; 07:00&#39;,&#39; 07:15&#39;,&#39; 07:30&#39;, &#39; 07:45&#39;,&#39; 08:00&#39;等等])但由于某种原因,它无法正常工作。

有谁知道为什么?

是否无法添加数组(allowTimes:append)来触发插件的jquery属性? 如果不是,为什么它不能正常工作我输出与我的第一个实例相同结果的代码?

提前谢谢

1 个答案:

答案 0 :(得分:1)

你要构建的东西不是字符串而是字符串数组。

因此:

var times = []; // empty Array

for (var xh=7; xh<=17; xh++) {
    for (var xm=0; xm<60; xm+=15) { 
        times.push(("0" + xh).slice(-2) + ':' + ("0" + xm).slice(-2)); // push a time String onto the Array
    }
}
console.log(times);