Javascript 从DOM和JQuery创建JSON数组
我正在通过JQuery查询DOM,尝试以下格式的JavaScript数组:Javascript 从DOM和JQuery创建JSON数组,javascript,jquery,json,Javascript,Jquery,Json,我正在通过JQuery查询DOM,尝试以下格式的JavaScript数组: [ { "start": moment("10/03/2017","DD/MM/YYYY"), "end": moment("18/03/2017", "DD/MM/YYYY") }, { "start": moment("01/04/2017","DD/MM/YYYY"), "end": moment("
[
{
"start": moment("10/03/2017","DD/MM/YYYY"),
"end": moment("18/03/2017", "DD/MM/YYYY")
},
{
"start": moment("01/04/2017","DD/MM/YYYY"),
"end": moment("05/04/2017", "DD/MM/YYYY")
},
{
"start": moment("11/04/2017","DD/MM/YYYY"),
"end": moment("15/04/2017", "DD/MM/YYYY")
}
]
我试图在JQuerieseach()
函数中创建一个JavaScript对象来执行此操作,但它不起作用:
var avail_fruits = Array();
$(".avails").each(function(i, objer) {
//test
var ndate_group = $(objer).val().split(",");
var obj_date = new Object();
obj_date.start = moment(ndate_group[0],"DD/MM/YYYY");
obj_date.end = moment(ndate_group[0],"DD/MM/YYYY");
console.log(obj_date);
avail_fruits.push(obj_date);
});
如果我正确理解了您的问题,您可以通过使用jQuery从每个
元素中提取开始
和结束
日期作为字符串来实现所需的功能,如下所示:
const [start, end] = $(this).val().split(',');
然后,您可以通过矩的utc()
方法解析这些字符串,如下所示:
/*声明结果数组*/
const avail_fruits=[];
/*使用avails类迭代每个输入*/
$('.avails')。每个(函数(){
/*从输入值中提取开始、结束日期字符串*/
const[start,end]=$(this.val().split(',');
/*使用矩分析开始、结束日期字符串。使用utc()
避免时区转换*/
推({
开始:矩.utc(开始于'DD/MM/YYYY'),
结束:utc时刻(结束'DD/MM/YYYY')
});
});
console.log(可用)
Post your HTML alsoI我没有使用任何HTML,我必须在这个插件中将json变量置于禁用范围内。我指的是$(“.avails”)
。当您var ndate_group=$(objer.val().split(“,”)时,您得到了什么代码>什么不起作用?你从中得到了什么?代码看起来不错。它应该是有效的。仅对于obj_date.end=
应该有ndate_组[1]
而不是ndate_组[0]
。谢谢,我犯了一个基本错误,没有按json,而是创建了对象(@IntekhabKhan不用担心-很高兴我能帮上忙!