我需要将一个数组拆分成一个JSON数组,该数组应该遵循模式。
{{"url":url, "north":True "side":True}, {"url":url, "north":False, "side":True}}
我使用此代码获取url参数。正如您可以看到here,此代码显示3个复选框,您可以在其中选择图片是北侧,侧面还是您想要选择它。
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
xmlDoc = xmlHttp.responseXML;
pictureTemp = [document.getElementById("imgfilename")];
$('.login-form').append('<button onclick="sendAuswahl()">Send</button><br>');
for (var i = 0; i < xmlDoc.getElementsByTagName("imgfilename").length; i++) {
pictureTemp[i] = xmlDoc.getElementsByTagName("imgfilename")[i].childNodes[0].nodeValue;
$('.login-form').append('<input type="checkbox" name="north" value="North"><input type="checkbox" name="orientation" value="Side"><input type="checkbox" name="url" value='+ pictureTemp[i]+'><img src='+ pictureTemp[i]+' width="50%"></br>');
};
}
要获取所有勾选的复选框,我使用以下代码:
var arrayUrl = $("input[name='url']:checked").map(function(){
return this.value;
}).get()
var arrayNorth = $("input[name='north']:checked").map(function(){
return "True";
}).get()
var arrayOrientation = $("input[name='orientation']:checked").map(function(){
return "True";
}).get()
要将选择转换为JavaScript对象并获得我上面描述的模式,我使用它:
var picture = {
"url" : arrayUrl,
"North" : arrayNorth,
"Side" : arrayOrientation
};
但是当我提醒所选图像的值时,我得到了这个:
{"url":http://www.example.com, "north":True "side":True}
当我选择2张图像时,我得到了这个:
{"url":http://www.example.com, http://www.example2.com, "north":True "side":False}
而不是:
{{"url":http://www.example.com, "north":True "side":False}, {"url":http://www.example2.com, "north":False, "side":True}}
所以现在我的问题是:我如何擅长上述模式中的价值?
答案 0 :(得分:0)
var picture = [];
$(arrayUrl).each(function(index) {
picture.push({
"url": arrayUrl[index],
"North": arrayNorth[index],
"Side": arrayOrientation[index]
});
});