Javascript 如何基于复选框数据属性值创建动态数组
如果单击一个复选框,则需要根据其数据属性值创建一个动态数组,并将所有具有相同数据属性值的复选框值推送到该数组 例如:如果我单击height,我需要创建一个具有其数据属性值的数组,并在该数组中按下具有选中值的all复选框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
<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更新了问题。因此,如果选中了一个高度,您希望该数组包含所有高度的所有值,不管它们是否被选中?您只是将属性值推送到一个数组,这里我需要为每个属性创建一个数组,就像如果我单击“高度”,为“高度”创建一个数组,并将所有选中的高度值推送到该数组。如果取消选中,我们如何删除该值?它已经在删除它。父级仍然存在,但具有空数组