我不知道标题是否错误...我不知道我应该使用哪个术语来推翻所需的结果 - 我想要实现的最终结果是:
var data = [
{
value: 300,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Red"
},
{
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 100,
color: "#FDB45C",
highlight: "#FFC870",
label: "Yellow"
}
]
我正在尝试在.each循环中构建这种类型的数组,同时从表单中获取值(可以增加行数...)
这是我现在得到的(“不起作用”):
// GET VALUES FROM TR
var cnt = 0;
var datasets = [];
$('.pie-table > tbody > tr').length;
$('.pie-table > tbody > tr').each(function() {
var ctrid = '#' + $(this).attr('id');
var size = $(ctrid).find('input#value').val();
var color = $(ctrid).find('input#color').val();
var hlight = $(ctrid).find('input#highlight').val();
var label = $(ctrid).find('input#label').val();
if (size.length > 0) {
datasets[cnt] = 'value: ' + size + ', color:"' + color + '", highlight: "' + hlight + '", label: "' + label + '"';
}
cnt++;
})
var pieData = [];
for (var key in datasets) {
pieData.push(datasets[key]);
};
如何将结构模拟器添加到该循环内的示例中?
答案 0 :(得分:2)
您的对象需要是一个对象,而不是一个字符串:
if (size.length > 0) {
datasets[cnt] = {
value: size,
color: color,
highlight: hlight,
label: label
};
}
答案 1 :(得分:0)
看看这个:
if (size.length > 0) {
// Take Blank Object
var obj = {};
// Create keys and assign value
obj['value'] = size;
obj['color'] = color;
obj['highlight'] = hlight;
obj['label'] = label;
// Everything complete now push data in array
datasets.push(obj);
}