Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于复选框数据属性值创建动态数组_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 如何基于复选框数据属性值创建动态数组

Javascript 如何基于复选框数据属性值创建动态数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,如果单击一个复选框,则需要根据其数据属性值创建一个动态数组,并将所有具有相同数据属性值的复选框值推送到该数组 例如:如果我单击height,我需要创建一个具有其数据属性值的数组,并在该数组中按下具有选中值的all复选框 <input type="checkbox" name="" class="checkbox" data-parent="1" value="1">brand <input type="checkbox" name="" class="checkbox" dat

如果单击一个复选框,则需要根据其数据属性值创建一个动态数组,并将所有具有相同数据属性值的复选框值推送到该数组

例如:如果我单击height,我需要创建一个具有其数据属性值的数组,并在该数组中按下具有选中值的all复选框

<input type="checkbox" name="" class="checkbox" data-parent="1" value="1">brand
<input type="checkbox" name="" class="checkbox" data-parent="2" value="2">style
<input type="checkbox" name="" class="checkbox" data-parent="3" value="3">height
<input type="checkbox" name="" class="checkbox" data-parent="4" value="4">width
<input type="checkbox" name="" class="checkbox" data-parent="2" value="5">style
<input type="checkbox" name="" class="checkbox" data-parent="3" value="6">height
<input type="checkbox" name="" class="checkbox" data-parent="3" value="7">height
    <script type="text/javascript">
        $('.checkbox').click(function(){
            var newarray = [];
            var id = $(this).val();
            var pid = $(this).attr('data-parent');
            newarray[pid] = id;
        });

    </script>
品牌
风格
身高
宽度
风格
身高
身高
$('.checkbox')。单击(函数(){
var newarray=[];
var id=$(this.val();
var pid=$(this.attr('data-parent');
newarray[pid]=id;
});
var filterCriteria={};
var$复选框=$('.checkbox')。单击(函数(){
var$this=$(this);
var parentValue=$this.data('parent');
filterCriteria[parentValue]=$复选框
.filter(`[data parent=“${parentValue}]]:选中`)
.map(函数(){return this.value})
.get();
console.log(filterCriteria);
});

品牌
风格
身高
宽度
风格
身高

高度
因此,这个问题已经被提出并得到了回答。为什么会被删除?答案仍然是valid@Taplar您只是将属性值推送到一个数组中,这里我需要为每个属性创建一个数组,就像我单击“高度”一样,为高度创建一个数组,并将所有选中的高度值推送到该数组,然后您需要包含与您正在尝试执行的操作相关联的html,以使其更清晰。@Taplar更新了问题。因此,如果选中了一个高度,您希望该数组包含所有高度的所有值,不管它们是否被选中?您只是将属性值推送到一个数组,这里我需要为每个属性创建一个数组,就像如果我单击“高度”,为“高度”创建一个数组,并将所有选中的高度值推送到该数组。如果取消选中,我们如何删除该值?它已经在删除它。父级仍然存在,但具有空数组