我有一些数据属性和值的输入。我想获取key和value的数据属性以从输入中获取值。值重复的地方只记录一次。
这是我的演示https://jsfiddle.net/7L3eugqp/。
我想要的结果应该是这样的:
"A_1_1": {1, 2, 3},
"A_1_2": {4, 5, 6}
如果有人给我建议怎么做,我将不胜感激。感谢。
答案 0 :(得分:1)
每次循环找到另一个元素时,您都会覆盖第一个数据集。
canvasRender
如果您不希望 <select name="cat_id" class="form-control" onChange="this.form.submit();" style="width:300px;">
<?php
$sql_menu_1 = mysqli_query($db, "SELECT * FROM mdg_products where up_id = 0 and parentid = 0");
while($row_menu_1 = mysqli_fetch_array($sql_menu_1))
{
echo '<option
value="'.$row_menu_1["id"].'"> '.$row_menu_1["name"].'</option>';
}
?>
</select>
两次(将它们视为不同的集合),则可以在此if语句中附加var datasets = {};
$('.project').each(function(index, value) {
catName = $(this).data("prefix");
datasets[catName] = datasets[catName] || {
label : catName,
data: []
};
datasets[catName].data.push($(this).val());
});
console.log(datasets);
调用:
1
答案 1 :(得分:0)
你需要使用2循环。第一个创建数据集,第二个推送数据:
$('.project').each(function(index, value) {
catName = $(this).data("prefix");
if(!$.contains(datasets,catName)){
datasets[catName] = {
label : catName,
data: []
};
}
});
$('.project').each(function(index, value) {
catName = $(this).data("prefix");
datasets[catName].data.push($(this).val());
});
console.log(datasets);