来自输入的jQuery对象数组

时间:2017-05-18 17:08:04

标签: javascript jquery arrays object

我有一些数据属性和值的输入。我想获取key和value的数据属性以从输入中获取值。值重复的地方只记录一次。

这是我的演示https://jsfiddle.net/7L3eugqp/

我想要的结果应该是这样的:

"A_1_1": {1, 2, 3},
"A_1_2": {4, 5, 6}

如果有人给我建议怎么做,我将不胜感激。感谢。

2 个答案:

答案 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"].'">&nbsp;&nbsp;'.$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);

https://jsfiddle.net/y6c5gw7o/