javascript-如何为每个对象datetimepicker创建动态数组
作者:互联网
插件:eonasdan/Bootstrap 3 Datepicker
说明:
我想编写一个用户每天可以选择5个不同小时的应用程序.所以我创建了一个数组并添加了每一天(没有重复),例如用户select 31/12/2017和30/12/2017,现在我想给他们这种选择的能力,每天只能选择5个不同的小时.
试过的代码:
var limit = 5;
var i = 0;
var dateArray = new Object();
$('#ss').click(function() {
if ($('#datetimepicker1 input').val().length > 0) {
var date = $('#datetimepicker1 input').val();
var getDate = date.split(' ');
var unqdate = getDate[0];
var unqtime = getDate[1];
if ($.inArray(unqdate, dateArray) == -1) {
dateArray[unqdate] = unqtime
}
}
console.log(dateArray);
});
(要进行测试,请选择一个日期,然后单击“保存”按钮,然后检查控制台)
目标:
var dateArray = {
"31-12-2017": [{
"time": "14:00"
}, {
"time": "17:15"
}],
"30-12-2017": [{
"time": "13:00"
}, {
"time": "12:15"
}]
}
问题:
>我不知道该如何增加每天的时间.这是我第一次使用像这样的数组和对象.
>我想避免重复输入,并且每天只允许五个小时.
我以某种方式学习.
解决方法:
您的JS代码有问题:
var limit = 5;
var i = 0;
var dateArray = new Object();
$('#ss').click(function() {
if ($('#datetimepicker1 input').val().length > 0) {
var date = $('#datetimepicker1 input').val();
var getDate = date.split(' ');
var unqdate = getDate[0];
var unqtime = getDate[1];
if ($.inArray(unqdate, dateArray) == -1) {
if(dateArray[unqdate] && dateArray[unqdate].length < limit) {
if(!dateArray[unqdate].find((ele) =>ele.time === unqtime)){
dateArray[unqdate].push({"time": unqtime})
}
} else {
dateArray[unqdate] = [{"time": unqtime}]
}
}
}
console.log(dateArray);
});
注意包括时间分割逻辑.您可以使用split by:并获取数组的前2个元素.
标签:arrays,javascript,jquery,object,datetimepicker 来源: https://codeday.me/bug/20191025/1928801.html